資料流的三個路徑
(1)
1.Engine從Spiders處獲得爬取請求(REQUEST)
2.Engine将REQUESTS發給Scheduler,用于排程。
(2)
1.Engine從Scheduler獲得下一個要爬取的請求。
2.Engine将爬取的Request通過中間件發給downloader。
3.爬取網頁後,Downloader形成response通過中間件發給Engine。
4.Engine再将response通過中間件交給Spider處理。
(3)
1.Spider處理response後産生scraped items 和新的Resquests給Engine。
2.Engine将scraped items 發送給ITEM PIPLINES.
3.Engine繼續将新的Request發給Scheduler用于排程。
Engine:控制所有子產品間的資料流,根據條件觸發事件。
Downloader:根據請求下載下傳網頁。
Scheduler:對所有爬取請求進行排程管理。
Downloader Middleware:實施Engine,Scheduler和Downloader之間進行使用者可配置的控制。
Spiders:
(1)解析downloader傳回的Response
(2)産生新的Request
(3)産生Scraped Item
Item PIPLINES:
(1)以流水線方式處理Spider産生的scraped items
(2)可能操作包括:清理,檢驗和查重scraped items中的html資料,并存到database中。
Spider Middleware:對request和scraped items 的再處理。
Scrapy爬蟲的常用指令:
requests和Scrapy的比較: