我正在抓取特定的网址集:例如
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标签,因为它们仍在解析。
答案 0 :(得分:0)
Scrapy
默认忽略404响应,这意味着您已经以某种方式禁用了它,检查settings
中的以下属性,您的蜘蛛代码或者可能通过meta
参数传递它:
handle_httpstatus_list
handle_httpstatus_all
HTTPERROR_ALLOWED_CODES
HTTPERROR_ALLOW_ALL
这些变量中的任何一个都应为True或者应该是包含404
状态的列表。
如果您的情况不是这样,可能您已禁用HttpErrorMiddleware
中间件。