Spider: 以遵守robots.txt协议为荣 以匿名盗抓为耻

作者:车东 发表于:2006-11-24 11:11 最后更新于:2007-04-15 19:04
版权声明
:可以任意转载,转载时请务必以超链接形式标明文章和作者信息及本版权声明

按照是否匿名和是否遵循robots.txt协议有4种蜘蛛:
1 真名真姓,遵循robots.txt 协议。代表:GoogleBot BaiduSpider MSNBot Yahoo!Slurp 等
2 真名真姓,不遵循robots.txt协议。代表:iAskSpider SohuAgent wget
3 匿名,不遵循robots.txt协议。代表:大量的匿名蜘蛛,例如 OutfoxBot
4 伪装:不遵循robots.txt协议。代表:中搜,各种SpamBot,

如何识别这四类蜘蛛呢?通过HTTP协议和是否支持mod_gzip都很好的特征。做一个知荣知耻的spider很难吗?事实上:比较难。没有一定的技术积累,spider就和spambot一样。详细分析附后:

先看看第一类:
GoogleBot: 除了遵循robots.txt外,也支持HTTP 1.1压缩,可以非常有效的节省带宽;

66.249.72.165 - - [14/Nov/2006:00:09:35 +0800] "GET /blog/archives/000900.html HTTP/1.1" 200 8437 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 66.249.72.165.321101163434175289
这个页面的原始大小是34211字节。

BaiduSpider:BaiduSpider不支持HTTP 1.1压缩,但使用大量使用了HEAD请求来校验文件更新,避免了很多网络传输;百度的蜘蛛支持Disallow命令,但是是抓了再删,而其他引擎是从请求队列中删除,根本不会抓取。
202.108.22.181 - - [14/Nov/2006:20:49:16 +0800] "GET /blog/atom.xml HTTP/1.1" 304 - "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
202.108.22.181 - - [14/Nov/2006:21:07:15 +0800] "GET /cgi-bin/mt/mt-comments.cgi HTTP/1.1" 200 2076 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
202.108.22.181 - - [14/Nov/2006:21:07:17 +0800] "GET /blog/archives/000713.html HTTP/1.1" 200 31220 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"
202.108.22.144 - - [14/Nov/2006:22:54:22 +0800] "HEAD /blog/archives/000642.html HTTP/1.1" 200 0 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)"

Yahoo!Slurp: 只支持HTTP 1.0,也没用HEAD来校验更新,有很多报道说雅虎的蜘蛛抓取强度过高,但是Yahoo!Slurp很遵守规矩的,而且现在支持Crawl-delay命令:可以控制抓取频度。

第二类的和第三类的还好办,至少方便通过web服务器通过agent判断进行控制。最烦的就是第四类:不但无法防止,还给日志统计分析带来了很多麻烦。

但如果服务上安装了mod_gzip支持,就可以区分出了:因为机器人对HTTP 1.1支持到HTTP压缩还是有一定难度的,如果来自某个IP有大量的MSIE 访问,却是只支持HTTP 1.0请求或者支持HTTP 1.1但又不支持压缩那个就有可能是伪装spam了。

中搜多年以来一直伪装成Mozilla/4.0 (compatible;MSIE 5.5;Windows NT 5.0),从中搜上的CrawledBy结果就可以看出来:

ipfw - phpMan
Apache/1.3.37 (Unix) mod_perl/1.29 PHP/4.4.2 Under GNU General Public License 2006-10-25 11:23 @202.108.1.6 CrawledBy Mozilla/4.0 (compatible;MSIE 5.5;Windows NT 5.0)
www.chedong.com/phpMan.php/man/ipfw 上的更多结果 2006-10-25

做一个知荣知耻的spider很难吗?

加支付宝好友偷能量挖...


评论(0)网络
阅读(119)喜欢(0)lucene.net/分词技术