scrapy 异常处理

本文介绍了如何在Scrapy中利用下载中间件处理HTTP异常,如404和503错误。通过设置和合并下载中间件,可以有效管理异常,并结合Redis去除无效代理。
摘要由CSDN通过智能技术生成

可以在下载中间件直接处理 404 503 等等异常

settings.py

DOWNLOADER_MIDDLEWARES = {

    #定义成200 . 让其他默认中间件先处理
    'test_scrapy.middlewares.ProcessAllException': 200, 
}

from scrapy.http import HtmlResponse
from scrapy.exceptions import IgnoreRequest
class ProcessAllException(object):

    def process_response(self, request, response, spider):
        #处理异常
        if response.status >= 400 or hasattr(response,'exception'):
            print('process_response :' , response.status, response)
            if hasattr(response,'exception'):
                print('exception:'  , response.exception)
            raise IgnoreRequest(response)
        return response



    def process_exception(self, request, exception, spider):
        status_code = 400

        #构造一个假的response , 传递给process_response
        obj = HtmlResponse(url&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值