Python Scrapy请求方法不起作用

时间:2017-04-14 04:09:56

标签: python web-scraping

我正在尝试使用下面Request的{​​{1}}方法,但它没有调用Scrapy callback。当我拨打self.link_to_problem时,网址都正确打印,我也尝试在浏览器中打开这些网址,格式正确无误。有人可以识别代码中是否有错误吗?

print path

1 个答案:

答案 0 :(得分:1)

即使发布的代码是正确的,你的刮刀很可能也不会工作(乍一看对我来说似乎如此)。

原因/问题:reddit.com会阻止所有没有设置User-Agent标头的客户端的请求。

默认情况下,Scrapy会发送' scrapybot'作为用户代理,因此会被阻止。

解决方案:在您的请求中设置User-Agent标头,就像真正的浏览器一样。

这可以通过在scrapy项目的settings.py文件中添加以下行来完成。

USER_AGENT = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'