分布式爬蟲系統


分布式爬蟲系統

一、架構

二、原理

   1.分布式原理:

    利用scrapy-redis實現分布式,利用主從模式,把自己核心服務器稱為master,用於跑爬蟲程序的機器稱為slave。我們知道,采用scrapy框架抓取網頁,需要首先給定一些start_urls,爬蟲首先訪問start_urls里面的url,再根據具體邏輯對里面的元素、或者其他二級、三級頁面進行抓取。而要實現分布式,需要在start_urls里面做文章。

    在master上搭建一個redis數據庫(這個數據庫只用於url的存儲,不用於存儲數據),並對每一個需要爬取的網站類型,都開辟一個單獨的列表字段。通過設置slave上scrapy-redis獲取url的地址為master地址。這樣的設置就是,盡管有多個slave,然而獲取url的地方只有一個,那就是服務器master上的redis數據庫。

    並且,由於scarpy-redis自身的隊列機制,slave獲取鏈接不會相互沖突。這樣各個slave在完成抓取任務之后,再把獲取的結構匯總到服務器上(這時獲取的數據不在是redis,而是mongodb、mysql)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM