scrapy-redis中url队列类型的控制(zset、list)

说明:scrapy-redis在进行数据请求是能够实现url的自动保存到redis中,但是保存的数据结构类型是和setting配置文件中的优先级队列的选择挂钩的。

注意:当url的保存类型和url的提取方式不匹配会报错

比如:通过list数据结构的数据提取的方式提取zset中的数据

redis中list的数据提取方式:lpush key

redis中zset的数据提取方式:zrange key start end

(error) WRONGTYPE Operation against a key holding the wrong kind of value

一、三种优先级队列:

# 指定排序爬取地址时使用的队列,
# 默认的 按优先级排序(Scrapy默认),由sorted set实现的一种非FIFO、LIFO方式。
# SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.SpiderPriorityQueue'
# 可选的 按先进先出排序(FIFO)
SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.SpiderQueue'
# 可选的 按后进先出排序(LIFO)
# SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.SpiderStack'

二、优先级队列对应url在redis中保存的数据类型

scrapy-redis默认的优先级队列:zset

先进先出(FIFO):list

先进后出(LIFO):list

三、队列提取方式的选择

REDIS_START_URLS_AS_SET = True

可以在setting配置文件中配置这一行代码。

True:redis中以set集合提取数据的方式提取

False:redis中以list列表提取数据的方式提取

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值