Python爬虫:scrapy 的运行流程和各模块的作用
生活随笔
收集整理的這篇文章主要介紹了
Python爬虫:scrapy 的运行流程和各模块的作用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
scrapy的運行流程
- 爬蟲 -> 起始URL封裝Request -> 爬蟲中間件 -> 引擎 -> 調度器(Scheduler): 緩存請求, 請求去重
- 調度器 -> 請求 -> 引擎 -> 經過下載器中間件 -> 下載器(發送請求, 獲取響應數據, 封裝Response)
- 下載器 - Response(響應) -> 經過下載器中間件 -> 引擎
- 引擎 - response -> 經過爬蟲中間件 -> 爬蟲 (解析數據, 提取URL封裝請求, 提取數據)
- 爬蟲:
- 提取URL封裝請求 -> 爬蟲中間件 -> 引擎 -> 調度器
- 提取數據 -> 引擎 -> 管道(Pipeline: 處理數據, 比如保存)
各個模塊及作用:
爬蟲模塊:
調度器模塊:
下載器模塊:
發送請求, 獲取響應數據,封裝為Response(已經實現了)
管道模塊:
處理數據, 比如保存(需要自己寫)
引擎模塊:
總指揮: 負責模塊之間調度, 以及數據傳遞(已經實現了)
下載器中間件:
在引擎和下載器之間, 可以對請求和響應數據進行處理, 比如: 實現隨機代理IP, 隨機User-Agent
爬蟲中間件:
爬蟲和引擎之間, 可以對請求和響應數據進行處理, 比如過濾. (很少)
?
?
轉載于:https://www.cnblogs.com/mzfly/p/9953068.html
總結
以上是生活随笔為你收集整理的Python爬虫:scrapy 的运行流程和各模块的作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (GIT)代码分支管理策略
- 下一篇: 孤荷凌寒自学python第六天 列表的嵌