scrapy-redis 分布式的部署

环境配置 scrapy-redis
先码好原本爬虫,主机要开启 redis-server, config 文件的 bindip = 127.0.0.1 加 # 注释,protected mode 改为 no。

spider 的 配置,其他照旧。

from scrapy_redis.spiders import RedisCrawlSpider


# 继承引进的 RedisCrawlSpider
class DgSpider(RedisCrawlSpider):
    
    name = 'de'
    # redis_key 代替 starturls
    redis_key = 'de:start_urls'
    allowed_domains = ['digikey.cn']

settings.py

# 启动从 Redis 缓存读取队列, 调度爬虫
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
# 确保所有的爬虫通过 Redis 去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
# 调度持久化,不清理 Redis 缓存,允许暂停/启动爬虫
SCHEDULER_PERSIST = True
# 主机地址,主机的话可以注释
REDIS_URL = 'redis://root@192.168.0.155:6379'

如果需要将 item 结果返回到 redis 需要使用 scrapy_redis 提供的 pipelines

ITEM_PIPELINES = {
	'scrapy_redis.pipelines.RedisPipeline'}

启动时候是在 redis-cli 中输入(样式) :

C:\Users\win>redis-cli
127.0.0.1:6379> lpush de:start_urls https://www.digikey.cn/products/zh/test-and-measurement/test-leads-jumper-specialty/626

版权声明:本文为weixin_35695511原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。