1. 程式人生 > >19.基於scrapy-redis兩種形式的分布式爬蟲

19.基於scrapy-redis兩種形式的分布式爬蟲

實現 機器 分配 spider iss 持久 分布式 lsp 直接

redis分布式部署

1.scrapy框架是否可以自己實現分布式?

    - 不可以。原因有二。

      其一:因為多臺機器上部署的scrapy會各自擁有各自的調度器,這樣就使得多臺機器無法分配start_urls列表中的url。(多臺機器無法共享同一個調度器)

      其二:多臺機器爬取到的數據無法通過同一個管道對數據進行統一的數據持久出存儲。(多臺機器無法共享同一個管道)

2.基於scrapy-redis組件的分布式爬蟲

- scrapy-redis組件中為我們封裝好了可以被多臺機器共享的調度器和管道,我們可以直接使用並實現分布式數據爬取。

- 實現方式:

1.基於該組件的RedisSpider類

2.基於該組件的RedisCrawlSpider類

19.基於scrapy-redis兩種形式的分布式爬蟲