屏幕抓取:绕过“HTTP Error 403:request disallowed by robots.txt”

2024-05-19 10:29:06 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法绕过下面的事?

httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

只有这样才能联系网站所有者(barnesandnoble.com)。。我正在建立一个网站,将给他们带来更多的销售,不知道为什么他们会拒绝在一定深度的访问。

我在Python2.6上使用机械化和美化组。

希望能找到工作


Tags: txtcomhttpby网站requestseekerror
3条回答

Mechanize自动遵循robots.txt,但如果您有权限,或者您已经考虑过道德规范,则可以禁用它。。

在浏览器中设置标志:

browser.set_handle_equiv(False) 

这将忽略robots.txt。

另外,确保你限制了你的请求,这样你就不会给他们的网站带来太多的负载。(注意,这也降低了他们发现和禁止你的可能性)。

哦,你需要忽略robots.txt

br = mechanize.Browser()
br.set_handle_robots(False)

如果你想与巴诺公司(Barnes&Noble)发生法律纠纷,你可以试着对你的用户代理撒谎(例如,假装你是人而不是机器人)。为什么不联系他们的业务开发部门,说服他们特别授权你呢?毫无疑问,他们只是想避免自己的网站被价格比较引擎之类的机器人刮伤,如果你能让他们相信你不是一个机器人,签署合同等,他们很可能愿意为你破例。

一个“技术性”的解决方案就是破坏robots.txt中编码的策略,这是一个高法律风险的方法,我永远不会推荐。顺便问一下,他们的robots.txt是如何读取的?

相关问题 更多 >

    热门问题