Scrapy框架是一個(gè)Python的爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)的應(yīng)用框架,用途廣泛。
Scrapy Engine(引擎):負(fù)責(zé)Spider(爬蟲(chóng)),ItemPipeline,Downloader,Scheduker中間的通訊,信號(hào),數(shù)據(jù)傳遞等,
Downloader(下載器):負(fù)責(zé)下載引擎發(fā)送的所有的Requests請(qǐng)求,并將其獲取到的Responses交給引擎,于引擎交給Spider來(lái)處理
Spider(爬蟲(chóng)):負(fù)責(zé)處理所有的Responses,從中分析提取數(shù)據(jù),獲取item字段的所需的數(shù)據(jù),并將其需要跟進(jìn)的URL提交給引擎,再次進(jìn)入調(diào)度器
Item Pipeline(管道):負(fù)責(zé)處理Spider中獲取的item,并進(jìn)行后期處理的地方
Downloader Middewares(下載中間件):可以自定義下載功能的組件
Spider Middlewares(Spider中間件):可以自定擴(kuò)展和操作引擎和Spider中間通信的功能組件(比如進(jìn)入Spider的Responses;和從Spider出去的Requests)
文件介紹:
spider:放置爬蟲(chóng)文件
items:處理引擎?zhèn)鬏斶^(guò)來(lái)的數(shù)據(jù)
middlewares:自定義requests請(qǐng)求和進(jìn)行response過(guò)濾
pipelines:處理spider模塊分析好的結(jié)構(gòu)化數(shù)據(jù),如保存入庫(kù)等
流程:
1、Spider爬蟲(chóng)部分發(fā)送請(qǐng)求,通過(guò)SpiderMiddleware中間層處理后發(fā)送給ENGINE引擎模塊
2、引擎模塊將請(qǐng)求發(fā)送給SCHEDULER模塊進(jìn)行調(diào)度
3、SCHEDULER模塊將可以執(zhí)行的請(qǐng)求調(diào)度給引擎模塊
4、引擎模塊將請(qǐng)求發(fā)送給DOWNLOADER下載模塊進(jìn)行下載,期間會(huì)經(jīng)過(guò)DownloadMiddleware中間件進(jìn)行處理
5、下載模塊將爬取好的網(wǎng)頁(yè)響應(yīng)經(jīng)過(guò)DownloaderMiddleware中間間處理后傳遞給引擎模塊
6、引擎模塊將響應(yīng)傳遞給Spider爬蟲(chóng)模塊進(jìn)行解析
7、在爬蟲(chóng)模塊我們自定義解析方式對(duì)響應(yīng)解析完成后生成Item對(duì)象或者新的Request對(duì)象,經(jīng)過(guò)SpidderMiddleware發(fā)送給引擎模塊
8、如果是Item對(duì)象傳遞給item和pipeline來(lái)進(jìn)行對(duì)應(yīng)的處理;如果是Request對(duì)象則繼續(xù)調(diào)度下載,重復(fù)之前的步驟。
spider整理
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- Scrapy架構(gòu)概覽 要探究清楚Spider Middleware,首先得對(duì)Scrapy框架的整體架構(gòu)有個(gè)大致的認(rèn)...
- scrapy框架的流程圖2018-11-01框架流程圖 1、scrapy框架主要為個(gè)塊??????(1)Scrap...
- 一、準(zhǔn)備工作1、系統(tǒng)更新sudo apt-get updatesudo apt-get upgrade2、安裝必要...
- 最近復(fù)聯(lián)四是已經(jīng)放出了最新的預(yù)告片,在這個(gè)預(yù)告片中,各個(gè)人物悉數(shù)登場(chǎng),就連大家一直擔(dān)心的鋼鐵俠都回來(lái)了,當(dāng)然之前消...