站长论坛 站长下载
您所在的位置: 站长中国 > 新闻资讯 > 搜索门户 > 搜索优化 > 正文

蜘蛛爬行统计分析程序开发总结
来源:  作者: 时间:2008年09月21日12:33:30  评论(0条) 字体:[ ]

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

  蜘蛛顺利爬行网页是网页被搜索引擎收录的前提条件,搜索引擎是否已爬行了网站,爬行了哪些页面以及返回哪些信息给蜘蛛,掌握了这些情况我们才能对网站进行有针对性的优化改良,因此查看蜘蛛爬行日志是一件非常重要但却非常痛苦的工作,尤其是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.



责任编辑:空瓶氧气
上一篇:GG Adsense搜索联盟与传统搜索框的区别
下一篇:老白给SEO新手的14点建议
收藏本文 打印 打印本文  推荐本文 告诉好友 投稿 投稿邮箱

站长排行

新闻

学院

专栏

盈利

全国哀悼日网友自发QQ隐身上线 向死难
淘宝网卖家公然叫卖“艳照门”照片集
抗震救灾/鱼目混珠?
Google绿色专家质疑黑色背景网页节省资
阿里妈妈广告卖主全攻略
电影小说类相关关键字搜索量列表
爆笑 阿里就这样把亿告征服!
大脚:实战单页面优化关键词之——淘宝
国内各IT企业办公环境揭秘(多图)
心系灾区,点燃希望——手机QQ2008祈福
[揭密网络黄链]中国留学生买凶专破日本
windows 2008中文版iis7+asp+php+Acces
贴吧发帖机使用教程(绝对原创)
超强弹出窗口代码,什么都挡不住
qq163音乐网 vs hao123网址之家
Windows Vista局域网网络连接设置
JSP语法(6)
FLASH视觉特效实例之地震效果
教你如何在Vista中设置麦克风
关于数据分页(转自www.codeproject.co
ECSHOP模板制作参考文档
悬挂阿里妈妈会否被百度惩罚
ECSHOP模板下载
阿里妈妈是否是中小站长的救世主?
最强网店ECShop发新版 众多酷炫功能给
土豆网,优酷网,爆米花等视频网站采集
DedeCms模板安装/制作概述
网上商店系统巅峰对决 ECShop vs ShopE
编程中国全站采集规则
http://www.mt86.com全站采集规则
性福联盟 一个不尊重站长的联盟
百度网络广告利润增长将会持续多久
大脚:日赚100元—揭露最新firefox欺骗
分享经验:个人网站如何月赚1万!
大脚:垃圾站超级赚钱法之二—突破“站
迅雷联盟、快车联盟收入对比
大脚:垃圾站超级赚钱法之——前言
Google Adsense的秘密 第二版
风险投资公司vc联系方式名录大全(一)
经理人必看的十个管理网站
站长学院  网页设计 建站教程 图形图象 网络编程

制定完整的网站
制定完整的网站
中国企业网站的
中国企业网站的

偏词优化策略
地方门户网站受众群体分类及推
地方网站,亮出你的文化“剑”
地方性论坛如何发展?
安徽站长访谈第三期:务实服务
安徽站长访谈第四期:立足本地
地方网站的准备工作

新闻线索

如果你有站长界人事变动、重组并购、变革技术出现,以及产品投诉等重要新闻线索,请告诉我们,我们会给予特别关注。
0631-3653338
站长中国编辑部
站长中国24小时新闻热线: 1356089008