Scrapy框架大體包括如下幾個組件:Scrapy Engine、Spiders、Scheduler、Item Pipeline、Downloader;數據庫
這是框架的核心,負責控制數據流在整個系統的各個組件間的流動過程,而且在特定動做發生時觸發相應事件。框架
調度程序從Scrapy引擎接受其傳遞過來的Request對象,而且將該對象加入到隊列中,下次Scrapy引擎發出請求時再將對象傳遞給引擎。scrapy
下載器負責對目標頁面發出請求而且獲取到頁面反饋的數據,以後傳遞給Scrapy引擎,最終傳遞給爬蟲進行數據提取。ide
爬蟲是Scrapy的用戶自行編寫的程序用來提取數據,針對下載器返滬的Response進行分析,或者指定其它須要跟進的URL和處理方法。url
數據管道負責處理被爬蟲提取出來的Item數據,能夠定義多個數據管道來作多種不一樣的數據操做,好比數據清理、驗證、寫入數據庫;Item能夠在不一樣的數據管道中進行傳遞,能夠設置每一個數據管道的優先級,Item會按照優先級依次通過全部的數據管道。spa
它的流程圖以下:code
步驟以下:對象
Start_urls
來指定或者重載爬蟲類的start_request
方法指定),而後將URL網址的Request傳遞給調度器;Response
的形式傳遞給爬蟲;