2012-08-30 30 views
1

可能重复:
Ethics of Robots.txtHTTP Error 403:请求不允许被robots.txt生成?

我尝试机械化自动化的网站上做一些工作。我设法通过使用br.set_handle_robots(False)来绕过上述错误。它使用它有多合乎道德?

如果不是,那么我想服从'robots.txt',但我试图机械化的网站阻止我查看robots.txt,这是否意味着不允许漫游器? 我的下一步应该是什么?

在此先感谢。

回答

1

关于第一个问题,看到Ethics of robots.txt

你需要牢记的robots.txt目的。抓取网站的机器人可能会破坏网站,并且基本上会导致DoS攻击。因此,如果您的“自动化”根本无法抓取或每天下载的页面数量不止几页,并且该网站上有一个robots.txt文件排除了您,那么您应该遵守该文件。

我个人觉得有一点灰色地带。如果我的脚本使用浏览器以的速度与人类相同的速度工作,并且只抓取几页,那么我本着机器人排除标准的精神,只要不访问,就没有问题该网站每天不止一次。在评判我之前,请仔细阅读最后一句。我觉得这完全合乎逻辑。尽管如此,许多人可能会不同意我的看法。

对于第二个问题,Web服务器有能力根据请求发送的HTTP头的User-Agent属性返回403。为了让你的脚本模仿一个浏览器,你必须错过自己。这意味着,您需要将HTTP标头User-Agent属性更改为与主流Web浏览器(例如Firefox,IE,Chrome)所使用的属性相同。现在它可能会说'机械化'。

一些网站比这更复杂,并有其他方法来检测非人类访问者。在这种情况下,放弃,因为他们真的不希望你以这种方式访问​​该网站。

相关问题