python中scrapy框架_python的scrapy框架
scrapy是python中數據抓取的框架。簡單的邏輯如下所示
scrapy的結構如圖所示,包括scrapy engine、scheduler、downloader、spider、item pipeline。
scrapy engine:引擎,是負責scheduler、downloader、spider、item pipeline之間的消息的傳遞等等
scheduler:調度器,是負責接受scrapy engine 的request請求,并將request進行整理排列,入隊,等待scrapy engine來請求時,交給引擎
downloader:下載器,是用來下載scrapy engine的請求,并將response返回給spider。
spider:爬蟲,是將downloader的response,由spider分析并提取item所要抓取的數據,并將所要跟進的url再次交給scrapy engine,再次進入scheduler。
item pipeline:項目管道,是將spider中提取到的數據,進行處理,存儲。
還有兩個:
download middlewares:下載中間件,是一個可以擴展的下載功能的組件,介于Scrapy引擎和調度之間的中間件,從Scrapy引擎發送到調度的請求和響應
spider middlewares:spider的中間件:是一個可以擴展和操作引擎和spider中間通信的功能組件(比如進入spider的response,和從spider傳出去的request),介于Scrapy引擎和蜘蛛之間的鉤子框架,主要工作是處理蜘蛛的響應輸入和請求輸出
這倆當前還沒有試過~
經過:
1.scrapy engine獲取到spider要獲取的第一個url
2.scrapy engine將要獲取的url給scheduler,并將url入隊,整理,并將處理好的request請求返回
3.scrapy engine將處理好的request給downloader,通過downloader下載數據,如果下載失敗,會將下載失敗的結果告訴scrapy engine,然后會讓scrapy engine等會再次請求下載。
4.scrapy engine獲取到downloader下載的數據,并且將數據給spider,經由spider進行數據處理,spider將需要跟進的request交給scrapy engine,將處理的結果返回給item pipeline
5.item pipeline將spider反悔的結果進行去重,持久化,寫入數據庫等操作。
只有當scheduler中沒有任何request了,整個過程才會停止。
總結
以上是生活随笔為你收集整理的python中scrapy框架_python的scrapy框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为复制加密门禁卡_MIUI12轻体验:
- 下一篇: python 多级菜单_python多级