我应该使用什么scrapy中间件来捕获和处理403响应?

时间:2017-04-09 20:56:35

标签: python scrapy

我正在使用scrapy并在没有重定向的情况下获得403响应。我想在发生这种情况时做一些不同的事情,我应该使用什么中间件?我的意思是我想将自定义行为添加到下载器中间件中。我应该对下载器堆栈的现有部分进行子类化还是实现自定义部分?

1 个答案:

答案 0 :(得分:0)

您可以使用Downloader Middleware process_response方法:

class Process403:
     def process_response(self, request, response, spider):
        # if not 403, do nothing
        if response.status != 403:
            return response  
        # otherwise do something here

请参阅scrapy documentation for more info

  

process_response()应该:返回一个Response对象,返回一个Request对象或引发一个IgnoreRequest异常。