scrapy框架架構圖
scrapy框架主要由六大元件組成,分別為:
scarpy框架模組功能
1. schedule(排程器):排程器從引擎接受request並將他們入隊,以便之後引擎請求他們時提供給引
3. spiders(爬蟲):spider是scrapy使用者編寫用於分析response並提取item(即獲取到的item)或額外跟進的url的類。 每個spider負責處理乙個特定(或一些)**
4. item pipeline(管道):item pipeline負責處理被spider提取出來的item。典型的處理有清理、 驗證及持久化(例如儲存到資料庫中)
5. scrapy engine(引擎):引擎負責控制資料流在系統的所有元件中流動,並在相應動作發生時觸發事
7. spiders middwares(爬蟲中介軟體):spider中介軟體是在引擎及spider之間的特定鉤子(specific hook),處理spider的輸入(response)和輸出(items及requests)。 其提供了乙個簡便的機制,通過插入自定義**來擴充套件scrapy功能
scrapy工作流程
1. 當爬蟲(spider)要爬取某url位址的頁面時,使用該url初始化request物件提交給引擎(scrapy engine),並設定**函式。 spider中初始的request是通過呼叫start_requests() 來獲取的。start_requests() 讀取start_urls 中的url,並以parse為**函式生成request 。
4. 應答包response物件最終會被遞送給爬蟲(spider)的頁面解析函式進行處理。
5. 若是解析出實體(item),則交給實體管道(item pipeline)進行進一步的處理。由spider返回的item將被存到資料庫(由某些item pipeline處理)或使用feed exports存入到檔案中。
6. 若是解析出的是鏈結(url),則把url交給排程器(scheduler)等待抓取。以上就是scrapy框架的執行流程,也就是它的工作原理。request和response物件是血液,item是代謝產物。
Python爬蟲學習(七)Scrapy爬蟲框架詳解
engine從spider處獲得爬取請求 request engine將爬取請求 給scheduler,用於排程 engine從scheduler處獲得下乙個要爬取的請求 engine將爬取請求通過中介軟體傳送給 爬取網頁後,形成響應 response 通過中介軟體發給engine engine將收...
Mac python 搭建scrapy爬蟲框架
1 在mac上安裝好python3,以及相關元件 2 進入python3的虛擬環境 workon env3.7 3 安裝scrapy pip install scrapy 4 建立乙個scrapy專案 4.1選擇路徑專案路徑 cd users panstark pycharmprojects 4.2...
Python爬蟲 scrapy框架
開源的,對平台的爬蟲框架 舊版本 需要預先定義所需欄位 class myitem scrapy.item url scrapy.field 再將所需欄位填充 class myspier scrapy.spider defparse self,response return sudo apt inst...