2017-06-26 32 views
0

我在抓取特定的網址集:例如Scrapy:如何排除重定向404

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循環來定義起始網址,但現在我想Scrapy從parse方法所有的URL是重定向到404頁排除。

目前我收到很多屬於404頁面的不必要的h1標籤,因爲它們仍然會解析。

回答

0

Scrapy忽略由默認的404個反應,這意味着你已經以某種方式禁用它,您在settings以下屬性,你的蜘蛛的代碼也許它傳遞throught的meta參數:

  • handle_httpstatus_list
  • handle_httpstatus_all
  • HTTPERROR_ALLOWED_CODES
  • HTTPERROR_ALLOW_ALL

任何這些變量都應該爲True或應該是包含404狀態的列表。

如果這不是你的情況,可能你已經禁用了HttpErrorMiddleware中間件。