在哪一侧生成“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 不允许的请求”?的主要内容,如果未能解决你的问题,请参考以下文章

人的手臂关节内侧在哪

MFC CControlBar

自动布局 - 为啥“垂直间距”有时会附加到视图的另一侧?

.net core 生成的身份认证的代码在哪?还有生成的注册和登录页面在哪?

如何在每次循环迭代时向用户打印不同的语句?

android studio生成apk在哪?