Scrapy框架-中间件

一.中间件中主要有3个函数方法

  • process_request:处理请求,默认返回值是None
  • process_response:处理响应,默认返回值是response对象
  • process_exception:处理错误信息,默认返回值是None

二.中间件三个方法的返回值返回的结果

1.process_request

返回None:会走下一个中间件的process_request正常往下走

返回request对象:把对象返回给引擎再引擎再从头重新给第一个中间件的process_request

返回response对象:把对象返回给给最后一个中间件process_response

抛出异常:返回一个中间件process_exception

2.process_response

返回None:不会传给上一个中间件process_response,中途端口

返回request对象:把对象返回给引擎再引擎再从头重新给第一个中间件的process_request

返回response对象:给上一个中间件process_response正常往下走

抛出异常:不会被process_exception 捕获,直接给errback

3.process_exception

返回None::给上一个中间件process_response正常往下走

返回request对象:把对象返回给引擎再引擎再从头重新给第一个中间件的process_request

返回response对象:把对象返回给给最后一个中间件process_response

三.中间件的设置

setting.py中设置

#setting.py下面这段代码注释打开即可
DOWNLOADER_MIDDLEWARES = {
    #字典前面的key代表中间件的类
    #其中后面的参数代表优先级数字越小优先级越大
    'myscrapy.middlewares.MyscrapyDownloaderMiddleware': 543, 
}
posted @ 2019-10-22 21:33  小小咸鱼YwY  阅读(585)  评论(0编辑  收藏  举报