scrapy 断点续爬 在setting中的配置项

在Scrapy.Redis中实现断点续爬,关键在于设置重复过滤器、调度器和RedisPipeline。需要在settings.py中配置RFPDupeFilter以加密请求对象,使用scrapy_redis调度器确保请求队列的管理和去重,并通过RedisPipeline将数据保存到Redis。request对象入队的条件包括:指纹不在去重集合中、dont_filter为True或来自start_urls。
摘要由CSDN通过智能技术生成

在scrapy_redis中,如果需要断点续爬,我们需要在setting配置文件中,添加如下配置:

#----1 设置重复过滤器的模块

DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

#----2 设置调取器,scrap_redis中的调度器具备与数据库交互的功能

SCHEDULER = "scrapy_redis.scheduler.Scheduler"

#----3 设置当爬虫结束的时候是否保持redis数据库中的去重集合与任务队列

SCHEDULER_PERSIST = True

#----4 在管道中设置将数据保存到redis数据库中

ITEM_PIPELINES =  
    # 当开启该管道,该管道将会把数据存到Redis数据库中
    'scrapy_redis.pipelines.RedisPipeline': 400,
}

#----5 配置redis数据库

REDIS_URL = "redis://127.0.0.1:6379"

从settings.py中的三个配置来进行分析 分别是

RedisPipeline  # 管道类
RFPDupeFilter  # 指纹去重类
Scheduler  # 调度器类
SCHEDULER_PERSIST  # 是否持久化请求队列和指纹集合

Scrapy_redis之RedisPipe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值