百度用于抓取网页的程序叫做Baiduspider - 百度蜘蛛,我们查看网站被百度抓取的情况主要是分析,网站日志里百度蜘蛛Baiduspider的活跃性:抓取频率,返回的>
查看日志的方式:
过FTP,在网站根目录找到一个日志文件,文件名一般包含log,下载解压里面的记事本,这即是网站的日志,记录了网站被访问和 *** 作的情况。因为各个服务器和主机的情况不同,不同的主机日志功能记录的内容不同,有的甚至没有日志功能。
日志内容如下:
6113516822 - - [11/Jan/2009:04:02:45 +0800] "GET /bbs/thread-7303-1-1html >
分析:
/bbs/thread-7303-1-1html 代表,抓取/bbs/thread-7303-1-1html 这个页面。
200 代表成功抓取。
8450 代表抓取了8450个字节。
如果你的日志里格式不是如此,则代表日志格式设置不同。
很多日志里可以看到 200 0 0和200 0 64 则都代表正常抓取。
抓取频率是通过查看每日的日志里百度蜘蛛抓取次数来获知。抓取频率并没有一个规范的时间表或频率数字,我们一般通过多日的日志对比来判断。当然,我们希望百度蜘蛛每日抓取的次数越多越好。
让蜘蛛经常光临
文章需要经常更新
蜘蛛就和一个人一样,想要吸引它,必须要有最新鲜的内容。如果都是一些老旧的内容,谁还会还看呢?每天或者数天一篇新的原创文章能够很好地勾引蜘蛛,同时也能够让更多的访客来你的网站上留下足迹。
页面简洁,保证打开速度
一个干净、简洁的页面能够比一个满是广告、无用信息的页面更页面更能够吸引用户,这对于蜘蛛也是。越少的需要抓取的内容,越快的打开速度,能够保证蜘蛛的高效率抓取,蜘蛛来访的频率也会越高。
内部链接结构良好,无死链和大量重复链
蜘蛛的爬行除了抓取页面,还通过页面上的链接进行“行走”。如果正好步入了一个死链,正如同步入深渊一般,蜘蛛可能需要一段时间之后才能继续抓取。同样的,如果有大量的重复链接,一直爬到这个页面上去,蜘蛛就会认为这个页面没有太大的意义,甚至会停止爬行。
为蜘蛛指路——建设网站地图
网站地图就好比是一个指向标,唯有清晰明了的指向标才能指引蜘蛛的去向。方便快捷的道路也会勾引来更多的蜘蛛。
每个页面都有完整的meta标签
拥有完整的meta标签可以更快地告诉蜘蛛这个页面里有什么,提高蜘蛛的抓取效率。这主要包括keywords(关键词)和description(描述),如果想让meta更完美,可以加上generator(作者)、robots(蜘蛛)、copyright(版权)等等。
确保服务器能够正常运作,避免宕机
在建网站之前,就要考虑好选择一个稳定的服务器,宁可多花点钱,也不要贪小便宜。稳定的运作能够使蜘蛛更好地进行抓取并不中断,还能容纳下更多勾引来的蜘蛛。
确保服务器返回信息正常
千万不要限制服务器返回信息,这对于蜘蛛来说很重要。一旦无法获取到正确的返回信息,蜘蛛将会迷失方向。
监测蜘蛛的爬行
可以利用日志知道蜘蛛正在抓取哪些页面,知己知彼,方能根据蜘蛛的喜好对页面进行调整,以勾引来更多的蜘蛛。
利用Google管理员工具查看爬行速度
可以利用Google专门为站长提供的管理员工具对蜘蛛的爬行速度进行查看,合理分配资源,以达到更高的抓取速度和勾引更多的蜘蛛。
增加网站的外链
这一条和第三点相类似,因为蜘蛛的通过链接爬行。别的网站上也有蜘蛛,就可以想办法将蜘蛛勾引过来,这办法就是在网站上发外链。
首先我们看下百度百科的介绍:百度蜘蛛,是百度搜索引擎的一个自动程序。它的作用是访问收集整理互联网上的网页、、视频等内容,然后分门别类建立索引数据库,使用户能在百度搜索引擎中搜索到您网站的网页、、视频等内容。
在看下工作机制:百度蜘蛛的构建的原理。搜索引擎构建一个调度程序,来调度百度蜘蛛的工作,让百度蜘蛛去和服务器建立连接下载网页,计算的过程都是通过调度来计算的,百度蜘蛛只是负责下载网页,目前的搜索引擎普遍使用广布式多服务器多线程的百度蜘蛛来达到多线程的目的。
从百度百科的介绍我们不难看出,只要有网络的地方百度蜘蛛都可爬行,互联网就像一张大网一样,蜘蛛可以在这张网上随意的爬行。
在上文中,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析。serverxml 使用配置方式,%D-请求时间,%F-响应时间
字段说明如下:
日志样例:
使用默认 combined 的经典格式上扩展 response_time&upstream_response_time
nginxconf 使用配置方式:
字段说明如下:
日志示例:
为了能理解 AWK 程序,我们下面概述其基本知识。
模式( pattern ) 用于匹配输入中的每行文本。对于匹配上的每行文本,awk 都执行对应的 动作( action )。模式和动作之间使用花括号隔开。awk 顺序扫描每一行文本,并使用 记录分隔符(一般是换行符)将读到的每一行作为 记录,使用 域分隔符( 一般是空格符或制表符 ) 将一行文本分割为多个 域, 每个域分别可以使用 2, … 表示。1 表示第一个域,表示第二个域,n 表示第 n 个域。 $0 表示整个记录。模式或动作都可以不指定,缺省模式的情况下,将匹配所有行。缺省动作的情况下,将执行动作 {print},即打印整个记录。
此处使用Nginx accesslog 举例,Tomcat 日志自己举一反三。 使用 awk 分解出Nginx access日志中的信息
以此类推…… 当我们使用默认的域分割符时,我们可以从日志中解析出下面不同类型的信息:
我们不难发现,仅使用默认的域分隔符,不方便解析出请求行、引用页和浏览器类型等其他信息,因为这些信息之中包含不确定个数的空格。 因此,我们需要把域分隔符修改为 “ ,就能够轻松读出这些信息。
注意:这里为了避免 Linux Shell 误解 “ 为字符串开始,我们使用了反斜杠,转义了 “ 。 现在,我们已经掌握了 awk 的基本知识,以及它是怎样解析日志的。
此处使用Nginx accesslog 举例,Tomcat 日志自己举一反三。
如果我们想知道那些类型的浏览器访问过网站,并按出现的次数倒序排列,我可以使用下面的命令:
此命令行首先解析出浏览器域,然后使用管道将输出作为第一个 sort 命令的输入。第一个 sort 命令主要是为了方便 uniq 命令统计出不同浏览器出现的次数。最后一个 sort 命令将把之前的统计结果倒序排列并输出。
我们可以使用下面的命令行,统计服务器返回的状态码,发现系统可能存在的问题。
正常情况下,状态码 200 或 30x 应该是出现次数最多的。40x 一般表示客户端访问问题。50x 一般表示服务器端问题。 下面是一些常见的状态码:
>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)