現在可以從網路下載這些程式碼,怎麼進行部署和運行程式碼
從github上下載了關於分散式的程式碼,不知道怎麼用,求各位大神指點下。 。 。
下面是網址
https://github.com/rolando/scrapy-redis
環境已經按照上面的配置好了,但不知道如何實現分佈式。
分散式我是這樣理解的,有一個redis伺服器,從一個網頁上獲取url種子,並將url種子放到redis伺服器了,然後將這些url種子分配給其他機器。中間存在調度方面的問題,以及伺服器和機器間的通訊。
謝謝。 。 。
感覺這不是一兩句話可以描述清楚 的。
我之前參考的這篇博文,希望對你有幫助。
說說我個人的理解吧。
scrapy
使用改良之后的python
自带的collection.deque
来存放待爬取的request
,该怎么让两个以上的Spider
共用这个deque
呢?待爬隊列都不能共享,分散式就是無稽之談。
scrapy-redis
提供了一个解决方法,把collection.deque
换成redis
数据库,多个爬虫从同一个redis
服务器存放要爬取的request
,这样就能让多个spider
去同一個資料庫裡讀取,這樣分散式的主要問題就解決了.注意:並不是換了
redis
来存放request
,scrapy
就能直接分散式了!scrapy
中跟待爬队列
直接相关的就是调度器Scheduler
。參考
scrapy
的結構它負責對新的
request
进行入列操作,取出下一个要爬取的request
等操作。所以,換了redis之後,其他組件都要改動。所以,我個人的理解就是,在多個機器上部署相同的爬蟲,分散式部署
redis
,参考地址我的博客,比较简单。而这些工作,包括url去重,就是已经写好的
scrapy-redis
框架的功能。參考位址在這裡,你可以去下載example看看具體的實作。我最近也在搞這個
scrapy-redis
,等我部署好了在更新的這個答案。你有新的進展可以分享出來交流。
@韋軒 您好,我看這段評論在15.10.11,請問您現在是否有結果了?
能否推薦一些您的博客,謝謝您~
可以聯繫我chenjian158978@gmail.com