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