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