一、如何实现分布式
- 安装一个scrapy-redis的组件 : pip install scrapy-redis
1. 实现流程
- 创建一个工程
- 创建一个基于CrawlSpider的爬虫文件
- 修改爬虫文件
- 导包 : from scrapy_redis.spiders import RedisCrawlSpider
- 将start_urls和allowed_domains进行注释
- 添加一个新属性 : redis_key = ‘sun’ , 表示可以被共享的调度器队列的名称
- 编写数据解析相关操作
- 将当前爬虫类的父类修改成RedisCrawlSpider
- 修改爬虫文件
ITEM_PIPELINES = {
'scrapy_redis.pipelines.RedisPipeline' : 400
}
- 指定调度器
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
SCHEDULER_PERSIST = True
- redis相关操作配置
- 配置redis的配置文件 :
- linux或者mac系统 : redis.conf
- windows : redis.windows.conf
- 修改 :
- 注释默认绑定 : bind 127.0.0.1
- 关闭保护模式 : protected-mode no
- 结合配置文件开启redis服务
- 启动客户端 :
- 执行工程:
- 向调度器的队列中放入一个起始的url :