默认情况下,scrapy遇到404页码是自动停止spider并且退出程序。
这里有两种解决方法:
scrapy.Request()
加入错误回调方法,这样所有Request遇到的错误都会跳到该方法里,包括404 def start_requests(self):
yield scrapy.Request(url='xxxx', callback=self.parse, errback=self.errback)
def errback(self, failure):
# log all failures
self.logger.error(repr(failure))
pass
handle_httpstatus_list = [404]
,如:class testSpider(scrapy.Spider):
name = "test"
handle_httpstatus_list = [404]
def start_requests(self):
yield scrapy.Request(url='xxxx', callback=self.parse)