scrapy-redis 介绍
来源:互联网 发布:淘宝怎么找内部优惠券 编辑:程序博客网 时间:2024/06/01 07:21
1.介绍
scrapy是一个爬虫框架,但是不支持分布式。scrapy-redis在scrapy的基础上,更方便地实现了分布式。
scrapy-redis提供了下面四种组件(component):(四种组件意味着scrapy的四个模块都要修改)
Scheduler
Duplication Filter
Item Pipeline
Base Spider
Schedular:
改造了python本来的collection.deque(双向队列),改用自己的redis来存放请求信息替代队列。
{
优先级0:队列0,
优先级1:队列1,
优先级2:队列2
}
scheduler根据requests根据优先级,来决定该入哪个队列。
Duplication Filter
Scrapy 中用集合实现这个request去重功能,Scrapy中把已经发出去的requests生成指纹,放入到一个redis的set中。
Item Pipeline
引擎将(Spider返回的)爬取到的Item给 Item Pipeline,scrapy-redis的Item Pipeline将爬取到的Item存入redis的items queue。
修改过的Item Pipeline 可以很方便的根据key从items queue提取item,从而实现 items processes集群
Base Spider
不在使用scrapy原有的Spider类,重写的RedisSpider继承了Spider和RedisMixin类,RedisMixin是用来从redis中读取url类的。
当我们生成一个Spider继承RedisSpider时,调用setup_redis函数,这个函数会去连接redis数据库,然后设置signal(信号):
- 一个是当spider空闲时候的signal
- 一个是当抓到item时的signal
- scrapy-redis 介绍
- scrapy-redis基础和介绍
- scrapy-redis介绍(一)
- scrapy-redis 和 scrapy ?
- scrapy-redis
- scrapy-redis介绍(三):如何自定义user-agent
- scrapy介绍
- Scrapy介绍
- scrapy-redis(七):部署scrapy
- 《Learning Scrapy》1 Scrapy介绍
- Scrapy-redis分析
- scrapy-redis源码分析
- scrapy-redis(二)
- scrapy-redis使用详解
- scrapy-redis环境配置
- Scrapy-redis源码分析
- scrapy-redis配置
- python scrapy-redis
- FM算法(Factorization Machine)
- Java Zip压缩实现
- 台湾大学林轩田机器学习技法课程学习笔记16(完结) -- Finale
- Debug日志:Dev C++ 5.11的 int 型边界测试
- Spring编程<三>
- scrapy-redis 介绍
- Qt Quick学习笔记(二)
- SpringMVC起步--MVC基本概念
- Java 接口
- redis --持久化rio
- jQueryDOM、jQueryAjax
- SQL Server 学习笔记之标识符
- 【iOS】音频播放之AVAudioPlayer,AVPlayer,AVQueuePlayer
- BZOJ 3211 花神游历各国 线段树 / 树状数组+并查集