柚子快報激活碼778899分享:Scrapy 中 SPIDER
柚子快報激活碼778899分享:Scrapy 中 SPIDER
1. 下載中間件的方法
process_request(request,spider): 所有請求都會調(diào)用此方法process_response(request, response, spider): 這里的參數(shù)比上面的多了response,肯定是用來處理response的process_exception(request, exception, spider):處理異常from_crawler(cls, crawler):從settings.py獲取配置
2. 蜘蛛中間件的方法
process_spider_input(response, spider):所有請求都會調(diào)用這個方法process_spider_output(response, result, spider):spider解析完response之后調(diào)用該方法,result就是解析的結(jié)果(是一個可迭代對象),其中可能是items也可能是request對象process_spider_exception(response, exception, spider):處理異常process_start_requests(start_requests, spider):同process_spider_output,不過只處理spider中start_requests方法返回的結(jié)果from_crawler(cls, crawler):從settings.py獲取配置
3. 區(qū)別
下載中間件是連通引擎和下載器的,所以如果修改請求只會影響下載器返回的結(jié)果,如果修改響應(yīng)會影響 spider 處理;而 spider 中間件是連通引擎和 spider 的,如果修改請求則會影響整個 scrapy 的請求,因為scrapy的所有請求都來自于 spider,當(dāng)然包括調(diào)度器和下載器,如果修改響應(yīng),則只會影響蜘蛛的解析,因為響應(yīng)是由引擎?zhèn)鬟f給蜘蛛的。
4. 使用
spider 中間件:????????
????????-- 一般用于操作 spider 返回的request,比如記錄深度、丟棄非200狀態(tài)碼響應(yīng)、丟棄非指定域名請求等;
????????-- 蜘蛛中間件一般不需要自己編寫,使用內(nèi)置的幾個也足夠了;
下載中間件:
????????-- 下載中間件用于操作向互聯(lián)網(wǎng)發(fā)起請求的request和返回的response,比如修改請求頭、修改響應(yīng)、管理cookies、丟棄非200狀態(tài)碼響應(yīng)、丟棄非指定域名請求等;
柚子快報激活碼778899分享:Scrapy 中 SPIDER
參考鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。