1.当爬取页面状态码是异常状态码,但response是正常的时候,正常情况Scrapy框架会判断状态码,如果不是正常状态码会停止后续操作
解决方案:
在meta"handle_httpstatus_all": True


yield scrapy.Request(url=hear,callback=self.parse_x,meta={"item":deepcopy(item),'handle_httpstatus_all':True})

2.有些网站第一次请求时会出现异常状态码,再发请求返回的响应就是正常的状态码
解决方案:
遇到这种情况可以在自己的下载中间件系统默认middleware.py里写入一个


def process_response(self, request, response, spider):
    if response.status == 异常状态码:
        return request
    else:
        return response
posted on 2022-06-18 19:23  风中的琥珀  阅读(343)  评论(0编辑  收藏  举报