如果网站由于robots.txt而未抓取,请获取回复

时间:2018-05-29 15:17:17

标签: python scrapy scrapy-spider scrapyd

我尝试抓取用户定义的网站,但无法抓取robots.txt阻止抓取的网站。这很好,但我希望得到响应,我可以向用户显示"您输入的网站由于robots.txt"而不允许抓取。

还有其他3种类型的预防,我得到了相应的代码和处理,但只有这个例外(即robots.txt预防)我无法处理。所以,如果有办法处理案件并显示相应的错误信息,请告诉我。

我使用的是Python 3.5.2和Scrapy 1.5

1 个答案:

答案 0 :(得分:0)

您应该使用ROBOTSTXT_OBEY

ROBOTSTXT_OBEY=False

有关RobotsTxtMiddleware的更多信息:

  

此中间件会过滤掉robots.txt禁止的请求   排除标准。

     

要确保Scrapy尊重robots.txt,请确保中间件是   启用并启用ROBOTSTXT_OBEY设置。

     

如果Request.meta将dont_obey_robotstxt键设置为True请求   即使启用了ROBOTSTXT_OBEY,这个中间件也会被忽略。