下載中間件 簡(jiǎn)介 下載器,,無(wú)法執(zhí)行js代碼,,本身不支持代理 下載中間件用來(lái)hooks進(jìn)Scrapy的request/response處理過(guò)程的框架,一個(gè)輕量級(jí)的底層系統(tǒng),,用來(lái)全局修改scrapy的request和response scrapy框架中的下載中間件,是實(shí)現(xiàn)了特殊方法的類(lèi),,scrapy系統(tǒng)自帶的中間件被放在DOWNLOADER_MIDDLEWARES_BASE設(shè)置中 用戶(hù)自定義的中間件需要在DOWNLOADER_MIDDLEWARES中進(jìn)行設(shè)置,,該設(shè)置是一個(gè)dict,鍵是中間件類(lèi)路徑,,值是中間件的順序,,是一個(gè)正整數(shù)0-1000.python基礎(chǔ)教程越小越靠近引擎 API 每個(gè)中間件都是Python的一個(gè)類(lèi),它定義了以下一個(gè)或多個(gè)方法 process_request(request,,spider) 處理請(qǐng)求,,對(duì)于通過(guò)中間件的每個(gè)請(qǐng)求調(diào)用此方法 process_response(request, response, spider) 處理響應(yīng),對(duì)于通過(guò)中間件的每個(gè)響應(yīng),,調(diào)用此方法 process_exception(request, exception, spider) 處理請(qǐng)求時(shí)發(fā)生了異常調(diào)用 from_crawler(cls,,crawler ) 常用內(nèi)置中間件 CookieMiddleware 支持cookie,通過(guò)設(shè)置COOKIES_ENABLED 來(lái)開(kāi)啟和關(guān)閉 HttpProxyMiddleware HTTP代理,,通過(guò)設(shè)置request.meta['proxy']的值來(lái)設(shè)置 UserAgentMiddleware 與用戶(hù)代理中間件 其它中間件參見(jiàn)官方文檔:https://docs./en/latest/topics/downloader-middleware.html 常用設(shè)置 設(shè)置的優(yōu)先級(jí) 命令行選項(xiàng)(優(yōu)先級(jí)最高) 設(shè)置per-spider 項(xiàng)目設(shè)置模塊 各命令默認(rèn)設(shè)置 默認(rèn)全局設(shè)置(低優(yōu)先級(jí)) 常用項(xiàng)目設(shè)置 BOT_NAME 項(xiàng)目名稱(chēng) CONCURRENT_ITEMS item 處理最大并發(fā)數(shù),,默認(rèn)100 CONCURRENT_REQUESTS 下載最大并發(fā)數(shù) CONCURRENT_REQUESTS_PER_DOMAIN 單個(gè)域名最大并發(fā)數(shù) CONCURRENT_REQUESTS_PER_IP 單個(gè)ip最大并發(fā)數(shù) |
|
來(lái)自: 軟件開(kāi)發(fā)組 > 《python》