方法:
process_request(self,request,spider):
返回为None:继续请求
返回为Request对象,把request对象交给调度器,进行后续请求
返回为Response对象,不再请求,response交给引擎然后给爬虫
process_response(self,request,response,spider):
返回为Request对象,交给调度器继续请求
返回为Response对象,交给下一个process_response处理
process_exception(request,exception,spider):
返回为None,调用其他process_exception方法继续处理,直到所有中间件调用完毕,调用默认的异常处理
返回为Response对象,异常纠正,交给下一个process_response处理
返回为Request对象,交给调度器继续请求
方法:
process_spider_input(self,response,spider):
返回None,交给下一个process_spider_input处理
process_spider_output(self,response,result,spider):
该方法必须返回包含requset或item对象的可迭代对象iterable
process_spider_exception(response,exception,spider):
返回为None,交给其他process_spider_exception继续处理
返回一个包含responser或item对象的可迭代对象(iterable),交给其process_spider_output方法
process_start_request(start_request,spider):
接受一个可迭代对象(start_request参数)且必须返回一个包含Request对象的可迭代对象
原文:https://www.cnblogs.com/zwp-627/p/11295848.html