(1)、調(diào)度器(Scheduler):
調(diào)度器,說白了把它假設(shè)成為一個URL(抓取網(wǎng)頁的網(wǎng)址或者說是鏈接)的優(yōu)先隊列,由它來決定下一個要抓取的網(wǎng)址是 什么,同時去除重復的網(wǎng)址(不做無用功)。用戶可以自己的需求定制調(diào)度器。
(2)、下載器(Downloader):
下載器,是所有組件中負擔最大的,它用于高速地下載網(wǎng)絡(luò)上的資源。Scrapy的下載器代碼不會太復雜,但效率高,主要的原因是Scrapy下載器是建立在twisted這個高效的異步模型上的(其實整個框架都在建立在這個模型上的)。
(3)、 爬蟲(Spider):
爬蟲,是用戶最關(guān)心的部份。用戶定制自己的爬蟲(通過定制正則表達式等語法),用于從特定的網(wǎng)頁中提取自己需要的信息,即所謂的實體(Item)。 用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個頁面。
(4)、 實體管道(Item Pipeline):
實體管道,用于處理爬蟲(spider)提取的實體。主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。
(5)、Scrapy引擎(Scrapy Engine):