基于scrapy-redis的分布式爬虫配置

it2022-05-05  171

基于scrapy的爬虫只能是单机式爬虫,而借助scrapy-redis可实现分布式爬虫

首先要安装scrapy-redis

pip install scrapy-redis

在此之前,应该已经装好了scrapy和redis 新建一个scrapy项目和爬虫文件

修改setting文件

# 使用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数据库的连接参数 REDIS_HOST = '192.168.1.11' REDIS_PORT = 6379

修改爬虫文件

引入RedisSpider,让爬虫类继承RedisSpider

设置redis_key

将start_urls 放入redis的set中 只需要在爬虫parse前指定redis_key 爬虫即可从redis中获取指定key的value(链接)进行爬取


最新回复(0)