Scrapy 爬蟲框架解析
工作流程
根據需要爬取的開始鏈接,engine交給downloader下載網頁。
downloader將下載的網頁交給engine, engine交給spiders進行解析處理村砂。提取數據及新的url被辑。 并交給engine墨林。
engine將數據交給ITEM PIPELINES 進行數據處理河劝,講url交給scheduler處理。
engine從scheduler提取url交給downloader處理慎恒。并重復以上過程任内,直到scheduler中沒有待處理的url。
-
Engine:Scrapy爬蟲框架的控制中心
控制所有模塊之間的數據流
根據條件觸發(fā)事件
不需要用戶修改
-
Downloader:Scrapy爬蟲框架的下載中心融柬,根據發(fā)送過來的url下載網頁
根據請求下載網頁
不需要用戶修改
-
Scheduler:Scrapy爬蟲框架的url管理中心死嗦,如調度url的爬取順序等
對所有爬取請求進行調度管理
不需要用戶修改
-
Downloader Middleware
目的:實施Engine, Scheduler和Downloader之間進行用戶可配置的控制
功能:修改、丟棄粒氧、新增請求或響應
用戶可編寫配置代碼
-
Spider:最重要的模塊越除,需要自己編寫,解析請求網頁返回的內容。
解析Downloader返回的響應(response)
產生爬取項(scraped item)
產生額外的爬取請求(Request), 指新的url
需要用戶編寫配置代碼
-
Item Pipelines:對爬取的數據進行數據處理
以流水線方式處理Spider產生的爬取項
由一組操作順序組成摘盆,每個操作是一個Item Pipeline類型
可能操作包括:清理和檢查爬取項中的HTML數據翼雀、將數據存儲到數據庫
需要用戶邊寫代碼
-
Spider Middleware
目的:對請求和爬取項的再處理
功能:修改、丟棄孩擂、新增請求或爬取項
用戶可編寫配置代碼
Item: 定義用戶需要爬取的數據形式