windows下scrapy-redis如何为不同的爬虫项目分配不同的db,而不仅仅使用db0

本文介绍了在Windows环境下,如何为Scrapy-Redis分布式爬虫配置不同数据库,避免所有爬虫项目共用db0导致混淆。通过分析源码和配置REDIS_PARAMS设置,可以为每个爬虫项目指定单独的数据库,实现更有序的管理。
摘要由CSDN通过智能技术生成

windows下scrapy-redis如何为不同的爬虫项目分配不同的db,而不仅仅使用db0

1. 背景

redis默认会生成16个db:db0 ~ db15, 在编写scrapy-redis分布式爬虫时,会默认使用db0来存放去重,种子队列以及item数据。但是一般情况下,我们不会只有一个爬虫项目,如果都放到一个数据库中,很容易搞混。所以为不同的爬虫项目分配不同的db是一件很有必要的事情。

2. 环境

  • 系统:win7
  • scrapy-redis
  • redis 3.0.5
  • python 3.6.1

3. 分析

  • 首先我们来分析一下scrapy-redis源码,看看设置db的位置在哪里?
  • 第一步: .\Lib\site-packages\scrapy_redis\scheduler.py
@classmethod
    def from_settings(cls, settings):
        kwargs = {
            'persist': settings.getbool('SCHEDULER_PERSIST'),
            'flush_on_start': settings.getbool('SCHEDULER_FLUSH_ON_START'),
            'idle_before_close': settings.getint('SCHEDULER_IDLE_BEFORE_CLOSE'),
        }

        # If these values are missing, it means we want to use the defaults.
        optional = {
            # TODO: Use custom prefixes for this settings to note that are
            # specific to scrapy-redis.
            'queue_key': 'SCHEDULER_QUEUE_KEY',
            'queue_cls
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值