Scrapy框架-中間件

一.中間件中主要有3個函數方法

  • process_request:處理請求,默認返回值是None
  • process_response:處理響應,默認返回值是response對象
  • process_exception:處理錯誤信息,默認返回值是None

二.中間件三個方法的返回值返回的結果

1.process_request

返回None:會走下一個中間件的process_request正常往下走python

返回request對象:把對象返回給引擎再引擎再從頭從新給第一個中間件的process_requestscrapy

返回response對象:把對象返回給給最後一箇中間件process_response函數

拋出異常:返回一箇中間件process_exceptioncode

2.process_response

返回None:不會傳給上一個中間件process_response,中途端口中間件

返回request對象:把對象返回給引擎再引擎再從頭從新給第一個中間件的process_request對象

返回response對象:給上一個中間件process_response正常往下走io

拋出異常:不會被process_exception 捕獲,直接給errbackclass

3.process_exception

返回None::給上一個中間件process_response正常往下走exception

返回request對象:把對象返回給引擎再引擎再從頭從新給第一個中間件的process_requestrequest

返回response對象:把對象返回給給最後一箇中間件process_response

三.中間件的設置

setting.py中設置

#setting.py下面這段代碼註釋打開便可
DOWNLOADER_MIDDLEWARES = {
    #字典前面的key表明中間件的類
    #其中後面的參數表明優先級數字越小優先級越大
    'myscrapy.middlewares.MyscrapyDownloaderMiddleware': 543, 
}
相關文章
相關標籤/搜索