scrapy redis 简介
Scrapy-redis 是为了更方便地实现 Scrapy 分布式爬取,而提供了一些以 redis 为基础的
组件(仅有组件)。主体还是是 redis 和 scrapy 两个库,Scrapy-redis 像胶水一样,把这
两个插件粘结了起来。
特点:
能实现分布式爬取
可实现去重
持续性爬取,可实现增量式爬虫
遵守 Rule 规则,可以实现深度爬虫为什么选择redis数据库:
redis支持主从同步,而且数据都是缓存在内存中,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高。
Redis 是一个开源的,内存数据库,它可以用作数据库、缓存和消息中间件。
它支持多种类型的数据结构:字符串,哈希,列表,集合,有序集合等
scrapy和scrapy-redis区别:
1.scrapy-redis 在 scrapy 的架构上增加了 redis
2.请求url放在set,生成指纹放在scrapy-redis里面
3.scrapy自己存储,scrapy-redis自动存储
4.Scrapy 本身不支持爬虫分布式,多个 spider 不能共享待爬取队列 Scrapy queue,
scrapy-redis 把 Scrapy queue 换成 redis 数据库,用同一个 redis-server 存放要爬
取的 request,便能让多个 spider 去同一个数据库里读取
基于 redis 的特性拓展了如下组件:
1. Scheduler
Sche