找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 378|回复: 2

robots如何控制Yahoo! Slurp蜘蛛的抓取频度

[复制链接]
发表于 2011 年 12 月 8 日 13:55:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 upring 于 2011-12-8 13:56 编辑

上周末豆瓣的阿北给我电话:最近你们雅虎的蜘蛛(Yahoo! Slurp)对豆瓣网的抓取频度非常高,导致服务器的速度有些慢,如何才能让Slurp降低抓取频度呢?

我首先想到的建议是在网站的robots.txt中增加Crawl-delay: 设置,这个设置是目前Slurp独有的,用来告诉Slurp蜘蛛2次访问之间的间隔,单位是秒。

剩下的问题就是Crawl-delay的值该设置多大,这个要看网站自身可以承受的负载,假设你希望Slurp每10秒来访问一次,这个设置就是:

User-agent: *
Crawl-delay: 10

我推荐使用 User-agent: * 万一有其他引擎逐步也支持这个配置呢,而不支持这个配置的引擎也会跳过这句。

可实际上我从自己网站的日志中看到:Slurp的压力却不止10秒一次,原因是这样:雅虎美国和雅虎中国有2套蜘蛛在运行,因此实际的访问可能是这样:

1.1.1.1 30/Jun/2006:00:00:03 Yahoo! Slurp China
2.2.2.2 30/Jun/2006:00:00:04 Yahoo! Slurp
1.1.1.1 30/Jun/2006:00:00:13 Yahoo! Slurp China

每个蜘蛛都是遵循Crawl-delay间隔的,因此为了进一步降低Slurp压力,希望达到10秒一次请求的频道 实际的Crawl-delay配置就要*2。

但是实际上我看到的雅虎的蜘蛛是分布在很多台服务器上的:而多个服务器集群之间也是不相互协调同一网站的抓取频度的

1.1.1.1 30/Jun/2006:00:00:03 Yahoo! Slurp China
2.2.2.2 30/Jun/2006:00:00:04 Yahoo! Slurp
1.1.1.1 30/Jun/2006:00:00:13 Yahoo! Slurp China
1.1.1.2 30/Jun/2006:00:00:13 Yahoo! Slurp China
1.1.1.1 30/Jun/2006:00:00:23 Yahoo! Slurp China
1.1.1.2 30/Jun/2006:00:00:27 Yahoo! Slurp China

我统计了一下:Slurp来源于40多个IP网段,同网段内的蜘蛛协调抓取频度。因此:实际的Slurp设置,需要设置为10*40 = 400秒,才能达到期望的Slurp每10秒访问一次频度。

给豆瓣推荐的Crawl-delay: 100 平均2.5秒访问一次,应该没有问题了。

Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2012 年 5 月 13 日 11:26:18 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
路过,来看看!顺便留下个脚印
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

发表于 2012 年 5 月 13 日 14:15:18 | 显示全部楼层
说的好 来学一下咯
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 11 月 17 日 22:29 , Processed in 0.116966 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表