【问题标题】:Mechanize returning robot.txt despite being set to ignore尽管设置为忽略,但机械化返回 robots.txt
【发布时间】:2015-01-04 06:34:26
【问题描述】:

我遇到过一些网站,当我尝试提取代码时会返回 ROBOTS 元标记,并且即使在尝试使用 Mechanize 时也会继续这样做。举个例子:

import mechanize
br = mechanize.Browser()
br.set_handle_robots(False)
br.open("http://myanimelist.net/anime.php?letter=B")
response = br.response().read()

我尝试设置标题和设置其他句柄,但从未收到不是 ROBOTS 元标记的响应。

任何帮助将不胜感激,谢谢。

编辑:

尝试以下建议的标题:

import mechanize
url = "http://myanimelist.net/anime.php?letter=B"

br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders=[('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36     (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'),
       ('Host', 'myanimelist.net'),
       ('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'),
       ('Accept-Encoding', 'gzip, deflate, sdch'),
       ('Accept-Language', 'en-US,en;q=0.8,ru;q=0.6'),
       ('Cache-Control', 'max-age=0'),
       ('Connection', 'keep-alive')]
br.open(url)
response = br.response().read()
print response

我仍然得到相同的 ROBOT 元标记。我是否添加了错误的标题,或者我只是卡在 CAPTCHA 上?

感谢您的帮助,我很感激。

【问题讨论】:

    标签: python web-scraping mechanize scrape


    【解决方案1】:

    据我了解set_handle_robots() 只是关于遵循robots.txt 中列出的规则:

    def set_handle_robots(self, handle):
        """Set whether to observe rules from robots.txt."""
    

    顺便说一句,你应该尊重并成为一名优秀的网络抓取公民。


    不过,他们对网络抓取非常严格——你很容易陷入验证码背后——要小心。仅供参考,它们受到Incapsula 的保护,它具有高级Bot Protection

    使用先进的客户分类技术、众包和 基于声誉的技术,Incapsula 区分“好” 和“坏”的机器人流量。这可以让你阻止爬虫、漏洞 使您的服务器超载并窃取的扫描仪和评论垃圾邮件发送者 您的内容,同时允许搜索引擎和其他合法 免费访问您的网站的服务。

    另一个重要的“仅供参考”,引自"Terms of Use"

    您同意不使用或启动任何自动化系统,包括不使用 限制,“机器人”、“蜘蛛”、“离线阅读器”等,即 以向其发送更多请求消息的方式访问服务 公司服务器比人类可以合理地在同一 使用传统的在线网络浏览器一段时间,并且您 同意不汇总或整理通过以下方式提供的任何内容 在其他地方使用的服务。您还同意不收集或 收集任何个人身份信息,包括帐户或 配置文件名称,来自服务或使用通信系统 由服务提供用于任何商业招揽目的。

    这导致了我的实际答案:提供了official API,使用它。坚持法律。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 2015-01-01
      相关资源
      最近更新 更多