在哪一侧生成“HTTP 错误 403:robots.txt 不允许的请求”?
Posted
技术标签:
【中文标题】在哪一侧生成“HTTP 错误 403:robots.txt 不允许的请求”?【英文标题】:On what side is 'HTTP Error 403: request disallowed by robots.txt' generated? 【发布时间】:2011-12-23 12:02:00 【问题描述】:我正在尝试使用 Mechanize 来简化一些例程。我已经设法通过使用br.set_handle_robots(False)
绕过该错误。有人谈论使用它是多么合乎道德。我想知道这个错误是在哪里产生的,在我这边还是在服务器端?我的意思是当 Mechanize 看到一些 robots.txt
规则时会抛出异常,还是当服务器检测到我使用自动化工具时会拒绝请求?
【问题讨论】:
【参考方案1】:服务器检测到用户代理。如果用户代理匹配 robots.txt 中的一个,则客户端应用规则。 默认情况下,mechanize 返回“Python-urllib/2.7”。
见http://en.wikipedia.org/wiki/Robots_exclusion_standard
【讨论】:
【参考方案2】:服务器以此类响应阻止您的活动。
这是您的网站吗?如果没有,请遵守规则:
-
服从
robots.txt
文件
在请求之间设置一个延迟,即使 robots.txt
不需要它。
在 User-Agent 标头中提供一些联系信息(电子邮件或页面 URL)。
否则,请准备好站点所有者根据用户代理、IP 或他认为将您与合法用户区分开来的其他信息来阻止您。
【讨论】:
我试图机械化的网站阻止我查看 robots.txt,这是什么意思。这是否意味着不允许使用机器人?以上是关于在哪一侧生成“HTTP 错误 403:robots.txt 不允许的请求”?的主要内容,如果未能解决你的问题,请参考以下文章