Scrapy的下載中間件

下載中間件html

簡介cookie

下載器,沒法執行js代碼,自己不支持代理併發

下載中間件用來hooks進Scrapy的request/response處理過程的框架,一個輕量級的底層系統,用來全局修改scrapy的request和response框架

scrapy框架中的下載中間件,是實現了特殊方法的類,scrapy系統自帶的中間件被放在DOWNLOADER_MIDDLEWARES_BASE設置中scrapy

用戶自定義的中間件須要在DOWNLOADER_MIDDLEWARES中進行設置,該設置是一個dict,鍵是中間件類路徑,值是中間件的順序,是一個正整數0-1000.越小越靠近引擎ide

 

APIspa

每一箇中間件都是Python的一個類,它定義瞭如下一個或多個方法命令行

process_request(request,spider)            處理請求,對於經過中間件的每一個請求調用此方法代理

process_response(request, response, spider)       處理響應,對於經過中間件的每一個響應,調用此方法htm

process_exception(request, exception, spider)      處理請求時發生了異常調用

from_crawler(cls,crawler )

 

經常使用內置中間件

CookieMiddleware    支持cookie,經過設置COOKIES_ENABLED 來開啓和關閉

HttpProxyMiddleware HTTP代理,經過設置request.meta['proxy']的值來設置

UserAgentMiddleware 與用戶代理中間件

其它中間件參見官方文檔:https://docs.scrapy.org/en/latest/topics/downloader-middleware.html

 

 

 

經常使用設置

設置的優先級

命令行選項(優先級最高)

設置per-spider

項目設置模塊

各命令默認設置

默認全局設置(低優先級)

 

經常使用項目設置

BOT_NAME           項目名稱

CONCURRENT_ITEMS item    處理最大併發數,默認100

CONCURRENT_REQUESTS   下載最大併發數

CONCURRENT_REQUESTS_PER_DOMAIN   單個域名最大併發數

CONCURRENT_REQUESTS_PER_IP      單個ip最大併發數

相關文章
相關標籤/搜索