Scrapy:如何排除重定向404

时间:2017-06-26 14:25:33

标签: scrapy

我正在抓取特定的网址集:例如

example.com/job/1
example.com/job/3
example.com/job/4
example.com/job/31
example.com/job/50

问题是,我不知道哪些已被删除,如果我决定从1爬行到10000,我将获得很多重定向到未找到的页面,例如

example.com/job-not-found.html

我使用while循环来定义起始URL,但现在我希望Scrapy从解析方法中排除所有重定向到404页面的URL。

目前我收到了很多属于404页面的不必要的h1标签,因为它们仍在解析。

1 个答案:

答案 0 :(得分:0)

Scrapy默认忽略404响应,这意味着您已经以某种方式禁用了它,检查settings中的以下属性,您的蜘蛛代码或者可能通过meta参数传递它:

  • handle_httpstatus_list
  • handle_httpstatus_all
  • HTTPERROR_ALLOWED_CODES
  • HTTPERROR_ALLOW_ALL

这些变量中的任何一个都应为True或者应该是包含404状态的列表。

如果您的情况不是这样,可能您已禁用HttpErrorMiddleware中间件。