scrapy 怎么处理404页码:HTTP status code is not handled or not allowed

发布于 2020-03-24 10:30:52

默认情况下,scrapy遇到404页码是自动停止spider并且退出程序。

这里有两种解决方法:

1. 在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

2. 在spider类里添加: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)
0 条评论

发布
问题