【发布时间】:2011-01-11 01:17:11
【问题描述】:
有没有办法强制蜘蛛减缓其对网站的蜘蛛抓取速度?任何可以放在 headers 或 robots.txt 中的东西?
我想我记得读过一些关于这可能的东西,但现在找不到任何东西。
【问题讨论】:
标签: performance webserver search-engine web-crawler
有没有办法强制蜘蛛减缓其对网站的蜘蛛抓取速度?任何可以放在 headers 或 robots.txt 中的东西?
我想我记得读过一些关于这可能的东西,但现在找不到任何东西。
【问题讨论】:
标签: performance webserver search-engine web-crawler
如果您指的是 Google,您可以使用您的 Google 网站管理员帐户 (Google Webmaster Tools) 来限制 Google 抓取您网站的速度。
还有这个,可以放到robots.txt里面
User-agent: *
Crawl-delay: 10
其中抓取延迟指定为每次页面抓取之间的秒数。当然,就像 robots.txt 中的其他所有内容一样,爬虫必须尊重它,所以 YMMV。
【讨论】:
除了为 Googlebot 使用 Google 网站管理员工具(请参阅 Robert Harvey 的回答)之外,Yahoo! 和 Bing 还支持 robots.txt 中的非标准 Crawl-delay 指令:
http://en.wikipedia.org/wiki/Robots.txt#Nonstandard_extensions
然而,当事态严重时,只需要在更高级别(例如负载平衡器、路由器、缓存代理,任何适合您的架构的东西)上阻止一个行为不端的机器人来抨击您的网站。
【讨论】:
有关使用 Perl 的解决方案,请参阅 Throttling your web server。 Randal Schwartz 说他使用这种解决方案在 Slashdot 攻击中幸存下来。
【讨论】: