07 scrapy 五大核心元件
阿新 • • 發佈:2021-11-09
scrapy 五大核心元件
scrapy 五大核心元件
- 元件的作用:
- 引擎(Scrapy)
- 用來處理整個系統的資料流處理, 觸發事務(框架核心)
- 排程器(Scheduler)
- 佇列+過濾器組成
- 用來接受引擎發過來的請求, 壓入佇列中, 並在引擎再次請求的時候返回. 可以想像成一個URL(抓取網頁的網址或者說是連結)的優先佇列, 由它來決定下一個要抓取的網址是什麼, 同時去除重複的網址
- 下載器(Downloader) 這裡體現了scrapy的非同步
- 在這裡可以對請求和響應進行篡改 下載中介軟體
- 用於下載網頁內容, 並將網頁內容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的非同步模型上的)
- 爬蟲(Spiders)
- 在這裡可以對請求和響應進行篡改 爬蟲中介軟體
- 爬蟲是主要幹活的, 用於從特定的網頁中提取自己需要的資訊, 即所謂的實體(Item)。使用者也可以從中提取出連結,讓Scrapy繼續抓取下一個頁面
- 專案管道(Pipeline)
- 負責處理爬蟲從網頁中抽取的實體,主要的功能是持久化實體、驗證實體的有效性、清除不需要的資訊。當頁面被爬蟲解析後,將被髮送到專案管道,並經過幾個特定的次序處理資料。
- 引擎(Scrapy)
注意
: 對於中介軟體,我們一般使用下載中介軟體,因為經過下載中介軟體的請求都是已經使用排程器進行了去重,而爬蟲中介軟體沒有去重。