在理的代理ip的中间件中 写一个方法
process_exception
当请求报错时 中间件会调用 process_exception 方法 你可以在这个方法里写你的自定义的处理方法
我这个方法是重新请求一次
class ProxyMiddleWare(object):
def process_request(self, request, spider):
proxy_address = random.choice(self.proxies)
request.meta['proxy'] = proxy_address
def process_exception(self, request, exception, spider):
yield scrapy.Request(request.url, meta=request.meta)