搜索引擎蜘蛛爬行统计分析

一、搜索引擎蜘蛛爬行统计分析的必要性:

  蜘蛛顺利爬行网页是网页被搜索引擎收录的前提条件,搜索引擎是否已爬行了网站,爬行了哪些页面以及返回哪些信息给蜘蛛,掌握了这些情况我们才能对网站进行有针对性的优化改良,因此查看蜘蛛爬行日志是一件非常重要但却非常痛苦的工作,尤其是SEOER及新站站长来说。比如从网上看到蜘蛛爬行某个页面后如果返回200 0 64 ,则表示此网页极有可能要被搜索引擎删除,HEAD 请求返回404也表示要删除网页,如果我们能根据日志及时发现此现象就能根据实际情况及时做出调整。又如,蜘蛛爬行返回的301,302重定向及404错误等信息,也是网站管理员需要关心的问题。因此可以看出分析蜘蛛爬行日志的必要性。

  二、蜘蛛爬行统计的方法:

  由于蜘蛛机器人在网站爬行时是不会爬行JS(多次爬行只执行0次或者一次),flash,img等标签的,因此,目前第三方统计软件 (如阿江、中国站长站、雅虎、google等统计系统)还无法统计到蜘蛛爬行记录。因此目前分析蜘蛛爬行主要通过以下方法: 1、利用PHP,ASP根据浏览器返回的USER_AGENT来动态进行跟踪记录,这样的确可以实现目的,但其缺点很明显:

  a)加重服务器负担,对于内容多及权重高的网站,蜘蛛抓取是非常频繁的。在网页中插入的代码会额外加重服务器的负担。

  b)由于搜索引擎相对来说比较喜欢静态页面,很多网站都利用CMS把内容生成静态文件,这样就无法统计了。湖南某seo公司介绍使用img标签或者script方式,即在静态文件中将统计脚本利用img或者script标签调用的方式,此方法经过我一个月的试验,无法实现,蜘蛛不抓取页面。

  2、利用第三方日志分析工具:如linux下awstats及windows下的Webalizer,其缺点也很明显。比如如果您是虚拟主机用户的话,由于每天产生的日志非常多,每次分析时下载日志文件是一件非常痛苦的事。同时这些软件太专业了,不适合一般站长使用。

  3、如果您有更好的蜘蛛爬行分析方法请您和广大站长一起分享。

  三、专门针对搜索引擎蜘蛛爬行统计的日志分析工具开发总结:

  1、 我们分析日志中需要关心蜘蛛爬行相关资料:

  a)蜘蛛爬行日期:根据此来查找蜘蛛爬行的规律。

  b)蜘蛛IP地址:不同来源的IP地址的蜘蛛的作用是不同,可以结合爬行日期及下面要讲到的请求方式HEAD,GET来进行更详细的规律总结。

  c)请求方式:主要有HEAD和GET方式,其作用是不同的。HEAD方式一般是上次蜘蛛来访问时发生一次或多次404错误,因此蜘蛛发送HEAD请求确认此网页是否存在,一旦发送此请求如果返回依然是404的话,那么您的网页就要被搜索引擎从数据库中删除了。GET方式大家都很明白就不说明了。

  d)爬行页面:蜘蛛爬行了哪些页面。

  e)状态码:服务器给蜘蛛返回的状态码,我们一般关心的是200,301,304,302,404,尤其是404及301,302。404表示死链,极大影响网站优化,301,302目前还是不能被搜索引擎友好识别,有作弊的嫌疑。

  f)流量:在落伍上看到很多个人站长反应自己的服务器被蜘蛛拖跨,虽然这种说法有点夸张,但对服务器产生的压力绝对不容忽视,尤其是某些太疯狂的蜘蛛,每天产生很大的流量,因此我们需要统计出这些蜘蛛的相关信息,对我们不关系的搜索引擎蜘蛛可以在robots.txt中进行限制,以节约我们宝贵的服务器资源。

  综合以上考虑,使用WEB语言开发一套一个使用简单,但功能专业的蜘蛛爬行统计程序放在自己的WEB空间上。这样可以随时随地检查蜘蛛爬行日志是非常必须的,并且可以避免下载日志的痛苦(当然,如果您使用的是独立服务器的话且你能熟练使用那些专业的日志分析工具就不提了),如果能实现以上功能的同时我们在结合一些第三方的统计工具,那么我们小站长就完全可以撇开那些专业的日志分析软件。

  2、开发语言的选择:由于这套分析程序是放在WEB服务器上的,因此考虑移植性是非常重要的,在WEB语言中,主要有JSP,php,asp,asp.net语言,JSP一般服务器是不支持的,ASP及.net在LINUX平台下不支持,唯一可以选择的是PHP语言。一般的windows及linux主机都会支持。其可移植性比较好。

  3、程序扩展性:毕竟一个人的能力无法满足大家不同的需求,因此程序在设计时将数据分析和表现进行隔离,我们将蜘蛛数据分析模块独立出一个只有7行代码的文件,可以方便的根据服务器日志的格式重写,因此您如果更换空间或者日志格式发生变化,您只需要根据我们提供的接口标准对分析模块重写即可,这并不需要多么高的程序开发水平。而不需要动其他任何文件,或者您将您的日志样本提供给我们,我们为您重写.程序还可以自定义统计蜘蛛类型,这样可以提高分析速度,远程分析日志等。

  4、难点及局限性:在开发过程中遇到一个非常重要的问题,就是分析速度,WEB日志动辙几十上百兆甚至G级,因此对于使用PHP语言来分析,既要考虑服务器承受能力,又要考虑分析速度,否则很容易导致超时现象,因此一套高效的算法是非常重要的,同时由于一般的日志记录条数都很多,我们放弃使用数据库,因为几十万条数据的插入及百万级的数据查询是相当痛苦的事情,对服务器的压力太大,会把你的服务器瞬时CPU达到峰值,而且这些数据并不需要长期保存,毕竟要考虑大多数的虚拟主机站长.同时为了满足部分站长的需求,程序将分析出来的蜘蛛日志按一定的格式写入文本文件,您可以自己用任何一种语言编写一段简单的读文件,插入数据库的代码将日志长期保存。通过不同的算法比较,目前找到的最好的算法分析速度如下:

  本地分析: P4 1.7G+512M内存+WinXp环境(笔记本):

  日志:100万行,完全分析时间:10-15秒

  VPS:384M内存+ Linux:

  日志:100万行,完全分析时间:22-28秒

  远程分析:即日志和分析系统不在同一台机器上,远程分析的速度主要取决于两个网络之间的速度。

  远程环境(日志存放位置):VPS:384M内存+ Linux,10M带宽共享

  本地环境(分析系统位置):P4 1.7G+512M内存+WinXp环境(笔记本),2M ADSL拨号网络

  日志:15万行,完全分析时间:20-25秒

  由此可见,远程分析速度只有本地分析的1/10,因此还是建议将系统上传到WEB服务器上,也可以节约您空间宝贵的流量。

  以上是我在开发这套程序的总结,程序目前已完成核心的分析功能及显示功能.

以上是我在开发这套程序的总结,程序目前已完成核心的分析功能及显示功能.

  程序演示地址:http://www.17buyhost.cn.

  更详细的开发介绍:http://www.17buyhost.cn/help.html

  希望站长网能有高人给我指点指点,主要还是在提高算法效率上。进一步完善后将放出下载地址。 此文首发admin5,转载请务必保证其完整性!

申明:本文章来自admin5.com

http://www.admin5.com/article/20080807/97849.shtml

时间: 2024-08-29 13:31:51

搜索引擎蜘蛛爬行统计分析的相关文章

搜索引擎蜘蛛爬行规律探秘之二:外链是否有时效性

  <搜索引擎蜘蛛爬行规律探秘之一蜘蛛如何抓取链接>写完距今天已经20多天了,本来想一直写下去呢,但是写完第一篇之后,忽然没有了思路.今天跟朋友们说起来了外链的时效性,也就是说外链会不会失效. 本文不再讨论理论相关的内容了,而是会举一些例子来证明第一篇文章,同时也说一下链接的时效性吧. 首先,外链所在页面被删除了,外链是否有效? 答案外链所在页面删除了依然是有效.证据如下:   我在博客中国的博客(可能是因为流量超标在2006年被删除了)早就已经被删了,但是百度依然有快照.今天看了下首页的快照

WordPress博客如何记录搜索引擎蜘蛛爬行痕迹

WordPress博客记录seo/seo.html" target="_blank">搜索引擎蜘蛛爬行痕迹插件: 1.搜索引擎蜘蛛爬行记录器Spider Tracker插件可以记录百度.谷歌.雅虎.必应.搜狗.搜搜6种搜索引擎的蜘蛛爬行痕迹,并生成统计图表,可以清晰的看到,近6日的各种搜索引擎的蜘蛛数量,以及当日的哪些时间,蜘蛛来过站里,又抓取了哪些网址. 2.wp-log-robots 插件大小仅3KB,wp-log-robots是一个记录搜索引擎蜘蛛爬虫活动记录的W

php记录搜索引擎蜘蛛爬行记录代码

php教程记录搜索引擎蜘蛛爬行记录代码 <center> <form action="setup.php" method="post"> <table align="center"> <tr> <td>服务器:</td><td><input value="localhost" name="server" />&l

搜索引擎蜘蛛爬行规律探秘之一蜘蛛如何抓取链接

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 搜索引擎蜘蛛,对于我们来说非常神秘,本文的配图使用蜘蛛侠的原因就在于此.当然我们也不是百度的也不是Google的,所以只能说探秘,而不是揭秘.本文内容比较简单,只是给不知道的朋友一个分享的途径,高手和牛人请绕行吧. 传统意义上,我们感觉搜索引擎蜘蛛(spider)爬行,应该类似于真正的蜘蛛在蜘蛛网上爬行.也就是比如百度蜘蛛找到一个链接,顺着这

WordPress纯PHP代码实现记录搜索引擎蜘蛛爬行记录

在新站或网站收录有问题时,可能需要持续关注搜索引擎蜘蛛的抓取情况.每次打开服务器端访问日志查看非常麻烦,特别是当日志文件比较大时更是不便.最好的办法就是在线直接打开看蜘蛛爬行记录.为此,我们可以免插件使用纯PHP代码来实现这个功能,以下是具体实现代码. // 记录蜘蛛访问记录 function get_naps_bot(){ $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebo

iis 搜索引擎蜘蛛

一.IIS中网站的日志的设置. 打开IIS.选择所要设置的网站属性.弹出如下窗口:   "启用日志记录",勾选,选择"W3C扩展日志文件格式". 再次点击这里的"属性"按钮,常规选项里面,选择新日志计划为"每天",当然也可以选择其他,选择好保存日志文件的目录.   按照一般情况,设置到这里就可以记录日志了,但是有些主机无论如何都找不到搜索引擎爬虫的痕迹,类似于Baiduspider+怎么都看不到.这个时候我们就需要启用剩下的三

维尼:针对搜索引擎该如何“引诱”蜘蛛爬行网站

怎么让百度收录我们的文章?要靠蜘蛛的爬行,怎么让百度的快照更新?要靠蜘蛛的爬行,怎么让搜索引擎知道你的网站?需要蜘蛛的爬行,所以说在我们做SEO推广的时候,蜘蛛是无处不在的,假如说蜘蛛喜欢上你的网站,那么我就要恭喜你,因为你的信息已经被蜘蛛带会给服务器,并且收录了,假如说蜘蛛对你很讨厌,那么我就要警惕你不要再惹怒蜘蛛了,假如说蜘蛛对你的网站爱答不理的,那么我就要告诉你赶快和蜘蛛套近乎,我这么说的意思其实就是想说明蜘蛛在我们做SEO的时候对我们真的很重要,如果说你的网站排名想做到搜索引擎的首页,那

深入剖析搜索引擎蜘蛛工作对SEO的提升

搜索引擎蜘蛛是搜索引擎自身的一个程序,它的作用是对网站的网页进行访问,抓取网页的文字.图片等信息,建立一个数据库,反馈给搜索引擎,当用户搜索的时候,搜索引擎就会把收集到的信息过滤,通过复杂的排序算法将它认为对用户最有用的信息呈现出来.深入分析网站的SEO表现的时候,一般我们就会考虑搜索引擎蜘蛛的抓取质量,而其中能够帮我们优化网站可能会涉及到下面的几个蜘蛛抓取相关的概念: 1.爬取率:既定时间内网站被蜘蛛获取的页面数量. 2.爬取频率:搜索引擎多久对网站或单个网页发起一次新的爬行. 3.爬取深度:

谈从iis日志中探寻搜索引擎蜘蛛活动痕迹

在站点的优化过程中个并不是说所有的站点问题都可以直接从站长工具上得到信息,往往站长工具上得到的信息都是在站点出现问题后才能察觉到.作为一名SEOer,我们更需要学会站点的隐性信息.例如,这几天做的外链效果怎样?我们的内容那些方面更加容易受到搜索引擎蜘蛛的喜爱?搜索引擎蜘蛛对于我们站点的爬行积极度如何?等等,这些都是隐藏在站点内容部的一些关键信息.这些信息通过站长工具我们很难分析.而这些信息恰恰可以从我们的站点IIS日志上找到答案. 一:为何IIS日志在分析站点隐性信息中如此重要 1:借由该日记记