標籤:網站 傳輸速率 分享 架構 就是 www mysq mongod 硬碟
Python爬蟲教程-34-分布式爬蟲介紹
安裝 scrapy_redis
- 1.開啟【cmd】
- 2.進入使用的 Anaconda 環境
- 3.使用 pip 安裝
4.操作
分布式爬蟲的結構
主從分布式爬蟲
- 所謂主從模式,就是由一台伺服器充當 master,若干台伺服器充當 slave,master 負責管理所有串連上來的 slave,包括管理 slave 串連、任務調度與分發、結果回收並匯總等;每個 slave 只需要從 master 那裡領取任務並獨自完成任務最後上傳結果即可,期間不需要與其他 slave 進行交流。這種方式簡單易於管理,但是很明顯 master 需要與所有 slave 進行交流,那麼 master 的效能就成了制約整個系統的瓶頸,特別是當串連上的slave數量龐大的時候,很容易導致整個爬蟲系統效能下降
- 主從分布式爬蟲結構圖:
這是經典的主從分布式爬蟲結構圖,圖中的控制節點ControlNode就是上面提到的master,爬蟲節點SpiderNode就是上面提到的slave。下面這張圖展示了爬蟲節點slave的執行任務
- 控制節點執行流程圖:
- 這兩張圖很明了地介紹了整個爬蟲架構,我們在這裡梳理一下:
- 1.整個分布式爬蟲系統由兩部分組成:master控制節點和slave爬蟲節點
- 2.master控制節點負責:slave節點任務調度、url管理、結果處理
- 3.slave爬蟲節點負責:本節點爬蟲調度、HTML下載管理、HTML內容解析管理
- 4.系統工作流程:master將任務(未爬取的url)分發下去,slave通過master的URL管理器領取任務(url)並獨自完成對應任務(url)的HTML內容下載、內容解析,解析出來的內容包含目標資料和新的url,這個工作完成後slave將結果(目標資料+新url)提交給master的資料提取進程(屬於master的結果處理),該進程完成兩個任務:提取出新的url交於url管理器、提取目標資料交於資料存放區進程,master的url管理進程收到url後進行驗證(是否已爬取過)並處理(未爬取的添加進待爬url集合,爬過的添加進已爬url集合),然後slave迴圈從url管理器擷取任務、執行任務、提交結果......
- 本篇就介紹到這裡了,拜拜
Python爬蟲教程-34-分布式爬蟲介紹