【问题标题】:Scrapy Fobidden with changed user agent具有更改的用户代理的 Scrapy Fobidden
【发布时间】:2020-09-26 17:56:23
【问题描述】:

我正在尝试抓取 yelp,但由于某种原因,尽管使用了自定义用户代理,但我仍然被禁止。

2020-06-07 15:36:43 [scrapy.crawler] 信息:覆盖设置:{'BOT_NAME':'yelpscraper','DOWNLOAD_DELAY':3,'NEWSPIDER_MODULE':'yelpscraper.spiders','ROBOTSTXT_OBEY ': True, 'SPIDER_MODULES': ['yelpscraper.spiders'], 'USER_AGENT': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36 '}

如您所见,我已经覆盖了用户代理。但是,我收到此错误:

020-06-07 15:36:44 [scrapy.core.engine] 调试:已爬网 (200) https://www.yelp.com/robots.txt>(引用者:无) 2020-06-07 15:36:44 [scrapy.downloadermiddlewares.robotstxt] 调试:robots.txt 禁止:https://www.yelp.com/?find_desc=gyms&find_loc=new+york+city%2C+ny&ns= 1>

我已经通过 yield 语句更改了 settings.py 和 def start_requests 中的用户代理,但没有运气。我很困惑,因为当我使用浏览器时,它运行良好。

【问题讨论】:

  • 这可能违反了 Yelp 的 TOS,顺便说一句。快速搜索会出现您可能会查看的 Quora 帖子。 quora.com/How-do-I-scrape-Yelps-data-for-free?share=1 它提到您可以通过电子邮件向 Yelp 发送许可。
  • 将来,如果您关心您的问题是否能被其他人阅读,您将希望像使用代码格式一样使用代码格式

标签: python web-scraping scrapy web-crawler


【解决方案1】:

当追求任何高价值目标时,首先要做的事情之一就是关闭ROBOTSTXT_OBEY,因为他们几乎肯定有Disallow: / 用于您关心的任何事情

【讨论】:

    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多