scrapy工作流程和每個模組的具體作用
賈富程發表於2018-12-19
其流程可以描述如下:
- 爬蟲中起始的url構造成request物件-->爬蟲中介軟體-->引擎-->排程器
- 排程器把request-->引擎-->下載中介軟體--->下載器
- 下載器傳送請求,獲取response響應---->下載中介軟體---->引擎--->爬蟲中介軟體--->爬蟲
- 爬蟲提取url地址,組裝成request物件---->爬蟲中介軟體--->引擎--->排程器,重複步驟2
- 爬蟲提取資料--->引擎--->管道處理和儲存資料
注意:
- 爬蟲中介軟體和下載中介軟體只是執行邏輯的位置不同,作用是重複的:如替換UA等
小結
- scrapy的概念:Scrapy是一個為了爬取網站資料,提取結構性資料而編寫的應用框架
- scrapy框架的執行流程以及資料傳遞過程:
- 爬蟲中起始的url構造成request物件-->爬蟲中介軟體-->引擎-->排程器
- 排程器把request-->引擎-->下載中介軟體--->下載器
- 下載器傳送請求,獲取response響應---->下載中介軟體---->引擎--->爬蟲中介軟體--->爬蟲
- 爬蟲提取url地址,組裝成request物件---->爬蟲中介軟體--->引擎--->排程器,重複步驟2
- 爬蟲提取資料--->引擎--->管道處理和儲存資料
- scrapy框架的作用:通過少量程式碼實現快速抓取
- 掌握scrapy中每個模組的作用: 引擎(engine):負責資料和訊號在不腰痛模組間的傳遞 排程器(scheduler):實現一個佇列,存放引擎發過來的request請求物件 下載器(downloader):傳送引擎發過來的request請求,獲取響應,並將響應交給引擎 爬蟲(spider):處理引擎發過來的response,提取資料,提取url,並交給引擎 管道(pipeline):處理引擎傳遞過來的資料,比如儲存 下載中介軟體(downloader middleware):可以自定義的下載擴充套件,比如設定代理ip 爬蟲中介軟體(spider middleware):可以自定義request請求和進行response過濾,與下載中介軟體作用重複