【发布时间】: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