分散式爬蟲 - scrapy-redis 分散式系統?
迷茫
迷茫 2017-04-24 09:11:57
0
2
563

現在可以從網路下載這些程式碼,怎麼進行部署和運行程式碼
從github上下載了關於分散式的程式碼,不知道怎麼用,求各位大神指點下。 。 。
下面是網址
https://github.com/rolando/scrapy-redis
環境已經按照上面的配置好了,但不知道如何實現分佈式。
分散式我是這樣理解的,有一個redis伺服器,從一個網頁上獲取url種子,並將url種子放到redis伺服器了,然後將這些url種子分配給其他機器。中間存在調度方面的問題,以及伺服器和機器間的通訊。

謝謝。 。 。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回覆(2)
Ty80

感覺這不是一兩句話可以描述清楚 的。

我之前參考的這篇博文,希望對你有幫助。

說說我個人的理解吧。

scrapy使用改良之后的python自带的collection.deque来存放待爬取的request,该怎么让两个以上的Spider共用这个deque呢?

待爬隊列都不能共享,分散式就是無稽之談。 scrapy-redis提供了一个解决方法,把collection.deque换成redis数据库,多个爬虫从同一个redis服务器存放要爬取的request,这样就能让多个spider去同一個資料庫裡讀取,這樣分散式的主要問題就解決了.

注意:並不是換了redis来存放requestscrapy就能直接分散式了!

scrapy中跟待爬队列直接相关的就是调度器Scheduler

參考scrapy的結構

它負責對新的request进行入列操作,取出下一个要爬取的request等操作。所以,換了redis之後,其他組件都要改動。

所以,我個人的理解就是,在多個機器上部署相同的爬蟲,分散式部署redis,参考地址
我的博客,比较简单。而这些工作,包括url去重,就是已经写好的scrapy-redis框架的功能。

參考位址在這裡,你可以去下載example看看具體的實作。我最近也在搞這個scrapy-redis,等我部署好了在更新的這個答案。

你有新的進展可以分享出來交流。

黄舟

@韋軒 您好,我看這段評論在15.10.11,請問您現在是否有結果了?
能否推薦一些您的博客,謝謝您~
可以聯繫我chenjian158978@gmail.com

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板