1. 程式人生 > >爬蟲框架scrapy(3)五大核心元件

爬蟲框架scrapy(3)五大核心元件

scrapy 五大核心元件的工作流程
當執行爬蟲檔案時,5大核心元件就在工作了

spiders 引擎(Scrapy Engine)管道(item Pipeline)排程器(Scheduler)下載器(Downloader)

首先執行爬蟲檔案spider,spider的作用是
(1)解析(2)發請求,原始的url儲存在於spider中
1:當spider執行的時候,首先對起始的url傳送請求,將起始url封裝成請求物件
2:將請求物件傳遞給引擎
3:引擎將請求物件傳遞給排程器(內部含有佇列和過濾器兩個機制),排程器將請求儲存在佇列(先進先出)中
4:排程器從佇列中排程出url的相應物件再將請求傳遞給引擎
5:引擎將請求物件通過下載中介軟體傳送給下載器
6:下載器拿到請求到網際網路上去下載
7:網際網路將下載好的資料封裝到響應物件給到下載器
8:下載器將響應物件通過下載中介軟體傳送給引擎
9:引擎將封裝了資料的響應物件回傳給spider類parse方法中的response物件
10:spider中的parse方法被呼叫,response就有了響應值
11:在spider的parse方法中進行解析程式碼的編寫;
(1)會解析出另外一批url,(2)會解析出相關的文字資料
12: 將解析拿到的資料封裝到item中
13:item將封裝的文字資料提交給引擎
14:引擎將資料提交給管道進行持久化儲存(一次完整的請求資料)
15:如果parder方法中解析到的另外一批url想繼續提交可以繼續手動進行發請求
16:spider將這批請求物件封裝提交給引擎
17:引擎將這批請求物件發配給排程器
16:這批url通過排程器中過濾器過濾掉重複的url儲存在排程器的佇列中
17:排程器再將這批請求物件進行請求的排程傳送給引擎


引擎作用:
1:處理流資料 2:觸發事物
引擎根據相互的資料流做判斷,根據拿到的流資料進行下一步元件中方法的呼叫

下載中介軟體: 位於引擎和下載器之間,可以攔截請求和響應物件;攔截到請求和響應物件後可以
篡改頁面內容和請求和響應頭資訊。
爬蟲中介軟體:位於spider和引擎之間,也可以攔截請求和響應物件,不常用。