有可能减慢百度蜘蛛的爬网频率吗?


18

百度蜘蛛的爬虫频率已经做出了很多。的确是这样:“ Baiduspider像疯了似的爬行。”

我在与我合作的网站上遇到了这种现象。在至少一个实例中,尽​​管百度提供的流量约为Google的0.1%,但我发现百度蜘蛛的抓取频率与Googlebot大致相同。

我希望将这些访问次数保持在我的网站上,数量尽可能少(也许有一天会增长吗?),但是我不能证明允许服务器上有如此大的负载。

上面链接的问题的公认答案表明,百度网站管理员工具提供了限制爬网速度的机会,但我很犹豫是否开放蠕虫(仅中文)罐。

是否有人有使用BWT限制Baiduspider爬网率的经验?还有另一种方法来限制此负载吗?

Answers:


11

这是一个很大的问题,由于蜘蛛网极具侵略性,并且可以破坏服务器中的资源,因此许多网站管理员可能对此很感兴趣...

作为百度的网页搜索消息指出,蜘蛛不支持抓取延迟通知设置百度,而是需要你注册并拥有百度网站管理员工具平台验证您的网站,说明这里在其网站上。这似乎是直接通过百度控制抓取频率的唯一选项。

问题在于,其他垃圾邮件机器人使用百度的用户代理程序(在此处第2号下列出)来抓捕您的网站,如其常见问题解答在此处第4号下所示。因此,请求降低百度的抓取速度可能无法解决所有问题。

因此,如果您决定使用百度的网站管理员工具,则最好通过使用Bots vs Browsers Database之类的资源或使用反向DNS查找,将其用户代理与已知与之关联的IP进行比较。

唯一的其他选择是阻止所有百度用户代理,从而牺牲来自百度的潜在流量,或者尝试使用mod_qos之类的Apache 来限制过多的请求,该声明声称可以管理:

  • 对位置/资源(URL)或虚拟主机的最大并发请求数。
  • 带宽的限制,例如每秒对URL的最大允许请求数或每秒最大/最小下载的千字节。
  • 限制每秒的请求事件数(特殊请求条件)。
  • 它还可以“检测”非常重要的人员(VIP),这些人员可以不受限制地访问网络服务器,也可以减少限制。
  • 通用请求行和标头过滤器可拒绝未经授权的操作。请求正文数据限制和过滤(需要mod_parp)。
  • TCP连接级别的限制,例如,来自单个IP源地址或动态保持活动控制的最大允许连接数。
  • 服务器可用的TCP连接用尽时,优先使用已知的IP地址。

我没有发现使用百度网站管理员工具的经验,该工具加载缓慢且存在翻译问题(也没有英语版本)。这可能会有所帮助,但是当然基于意见。


1
这对@Dan真的很有帮助。尝试其中的一些解决方案(百度网站管理员工具实在是很痛苦。)将向您报告。
samthebrand 2013年

1
谢谢!太好了-如果我也找到其他选择,我会进行更新。这个问题反映了许多网站管理员对攻击性机器人的挫败感,以及与之互动的担忧(例如,百度网站管理员工具)。希望合法的bot会考虑到这一点,并且会提供更好的工具/选项。
dan

@samthebrand和dan-请报告!您是否找到其他可以推荐的解决方案?
lazysoundsystem

5

经过大量的研究和试验,我终于忍不住了,并建立了一个百度网站管理员工具帐户。当在另一个窗口中使用Google翻译时,使用起来非常简单。您可能需要激活萤火虫才能从无法从普通浏览器模式捕获的按钮复制并粘贴中文文本。

设置完成后,您需要等待几天才能显示爬网数据,然后可以自定义爬网速率。它出现在“压力”部分中,您应该可以使用以下URL进行访问:http:
//zhanzhang.baidu.com/pressure/adjust?site= http% 3A%2F%2Fwww.yourURL.com%2F
请注意,只有在设置了百度网站管理员工具帐户并将您的网站URL与相关网站的帐户相关联后,您才能使用该URL。在这里,您会看到一个滑块,其当前抓取速度位于中间(在我的情况下,每天有12676个请求。将其向左滑动以降低抓取速度)。

我不知道它是否真的尊重您的要求。它会给您一个警告,上面写着这样的内容。“我们建议您使用默认的网站百度抓取速度。只有当您的网站在我们的抓取方面出现问题时,才可以使用此工具对其进行调整。为了保持网站的正常抓取,百度会考虑您对抓取速度的调整,现场条件,因此不能保证根据您的要求进行调整。”


1
我确定我不是唯一愿意对此进行更新的人-它尊重请求吗?您是否建议创建一个帐户?
lazysoundsystem

刚刚将直接URL更新到了抓取频率调整页,因为现在它已被更深地嵌入到网站站长工具中(不再存在于菜单中)。由于翻译混乱,Google翻译很难找到;-)
odony

-1

是的,您可以使用robots.txt中Crawl-delay参数将其设置为在对同一服务器的连续请求之间等待的秒数。

User-agent: Baiduspider
Crawl-delay: 100

第一行仅告诉百度爬虫遵守该命令。第二行是请求服务器之间等待的时间(以秒为单位)。您可以添加所需的延迟时间。

您需要将这些命令添加到现有的robots.txt文件中。如果您还没有robots.txt文件,请将上面的代码添加到文本文件中,然后将文件另存为robots.txt并上传到您网站的根文件夹中,这样它就会显示在以下地址:

www.examplesite.com/robots.txt

2
Baiduspider不支持抓取延迟。看这里
samthebrand

糟糕,您已经在几个网站上看到了robots.txt文件,因此以为确实如此!那句话怎么说?!
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.