基於scrapy redis的分布式爬蟲配置

2021-09-25 09:17:02 字數 863 閱讀 8578

基於scrapy的爬蟲只能是單機式爬蟲,而借助scrapy-redis可實現分布式爬蟲

首先要安裝scrapy-redis

pip install scrapy-redis
在此之前,應該已經裝好了scrapy和redis

新建乙個scrapy專案和爬蟲檔案

# 使用scrapy_redis的去重組件,在redis資料庫裡做去重

dupefilter_class = "scrapy_redis.dupefilter.rfpdupefilter"

# 使用scrapy_redis的排程器,在redis裡分配請求

scheduler = "scrapy_redis.scheduler.scheduler"

# 在redis中保持scrapy-redis用到的各個佇列,從而允許暫停和暫停後恢復,也就是不清理redis queues

scheduler_persist = true

# 指定爬蟲起始url型別為set

redis_start_urls_as_set = true

# 指定redis資料庫的連線引數

引入redisspider,讓爬蟲類繼承redisspider

將start_urls 放入redis的set中

只需要在爬蟲parse前指定redis_key

爬蟲即可從redis中獲取指定key的value(鏈結)進行爬取

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

redis分布式部署 1.scrapy框架是否可以自己實現分布式?不可以.原因有二.其一 因為太多台機器上部署的scrapy會各自擁有各自的排程器,這樣就是的多台機器無法分配start url列表中的url.多台機器無法共享同乙個排程器 其二 多台機器爬取到的資料無法通過同乙個管道資料進行統一的資料...

基於scrapy redis部署分布式爬蟲

基於scrapy redis部署分布式爬蟲 準備工作,主機需要開啟redis服務,進入redis目錄,在命令列工具中輸入 redis server redis windows.conf 3.使用pycharm開啟專案,找到settings檔案,配置scrapy專案使用的排程器及過濾器 4.修改spi...

基於scrapy redis的兩種分布式爬蟲

redis分布式部署 1.scrapy框架是否可以自己實現分布式?不可以。原因有二。其一 因為多台機器上部署的scrapy會各自擁有各自的排程器,這樣就使得多台機器無法分配start urls列表中的url。多台機器無法共享同乙個排程器 其二 多台機器爬取到的資料無法通過同乙個管道對資料進行統一的資...