scrapy (一)

 

scrapy框架數據庫

scrapy 是一個爬蟲框架,可以高效率,高層次的爬取頁面的數據並進行處理。json

在scrapy的英文文檔中,有這樣的一個流程圖框架

 

scrapy 框架主要分爲五大部分,spider, engine,scheduler,downloader,item pipelinesscrapy

spider:是用戶本身編寫的爬蟲主程序,爬取那些網站,獲取網上的什麼數據,等ide

engine: 引擎,是scrapy爬蟲框架的主體結構,負責整個框架的運轉,就像電腦的cpu同樣,控制着框架中數據流的流動,同時負責調動各個組件的調用。網站

scheduler:調度器,至關於一個牧羊人,主要是把從spider中獲得的Requests 放進隊列中,按照順序排列 遵從引擎的指揮。url

downloader: 下載器,負責解析Requests 獲得responsespa

item pipelines :item 是爬蟲程序獲取的數據 ,最後存入管道里 有pipelline進行數據的處理  好比寫入數據庫,保存本地json文件,excel文件等方式。excel

其大體流程爲:blog

  啓動爬蟲程序的時候,引擎(engine)根據spider中的start_urls列表中的url獲取Request類 交給調度器(scheduler),調度器將獲得的Requests放進隊列中,而後引擎從隊列中取出Requests 再交給下載器(downloader),下載器獲得respons響應,引擎在將獲得的響應發送給spider 主程序,進行解析,會獲得解析的的數據(item)和Requests   引擎將獲得的數據,放入pipelines中進行數據處理(保存數據庫,保存本地json文件等),獲得的Requests 引擎再交給調度器,放入隊列中,從這一步驟開始循環,直到spider獲得數據都是item放進pipeline裏面進行處理 整個爬蟲程序結束。

爬蟲程序結構

|--------------------------------------------SpiderTest

|-----------------------------spiders

|---------__init__.py

|--------------test.py

|-------------------------__init__.py

|----------------------------items.py

|-------------------middlewares.py

|------------------------pipelines.py

|--------------------------settings.py

相關文章
相關標籤/搜索