Scrapy_redis
简介
scrapy_redis是一个基于Redis的Scrapy组件,用于scrapy项目的分布式部署和开发
你可以启动多个spider对象,互相之间共享有一个redis的request队列,最适合多个域名的广泛内容的爬取
特点
分布式爬取
分布式数据处理
爬取到的item数据被推送到redis中,这意味着你可以启动尽可能多的item处理程序
scrapy即插即用
scrapy调度程序+过滤器,项目管道,base spidre
安装
pip install scrapy-redis
使用
首先创建scrapy的项目
在settings修改默认的调度器和过滤
SCHEDULER = 'scrapy_redis.scheduler.Scheduler'
DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter'
SCHEDULER_PERSIST = True
在spider里面修改继承的类RedisSpider,属性redis_key
常用设置
# 启用调度将请求存储进redis SCHEDULER = "scrapy_redis.scheduler.Scheduler"
# 确保所有spider通过redis共享相同的重复过滤 DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
# 不清理redis队列,允许暂停/恢复抓取 SCHEDULER_PERSIST = True
# 指定连接到Redis时要使用的主机和端口 REDIS_HOST = 'localhost'
REDIS_PORT = 6379
redis中存储的数据
spidername:items list类型,保存爬虫获取到的数据item内容是json字符串
spidername:dupefilter set类型,用于爬虫访问的URL去重,内容是40个字符的url的hash字符串
spidername:start_urls list类型,用于接收redisspider启动时的第一个url
spidername:requests zset类型,用于存放requests等待调度。内容是requests对象的序列化字符串
最新文章
- XMPP作为一个工具的意义
- Visual Studio 2015 Update 3 ISO
- XCL-Charts图表库简要教程及常见问题
- UVA 10254	十八 The Priest Mathematician
- 智能指针(一):STL auto_ptr实现原理
- WP8_给图片、按钮设置自定义图片
- [TYVJ] P1030 乳草的入侵
- Linux软件安装包中devel与非devel包之间的区别
- HTML1高级
- Hibernate 系列教程1-枚举单例类
- JavaScript中的位置屬性
- 《TCP-IP详解卷3:TCP 事务协议、HTTP、NNTP和UNIX域协议》【PDF】下载
- 严格次小生成树(Bzoj1977:[Beijing2010组队]次小生成树)
- One take,可望而不可即
- chattr文件锁
- sha1 算法源码
- [luogu1452]Beauty Contest【凸包+旋转卡壳】
- python Event对象、队列和多进程基础
- Nodejs+Mongo+WebAPI
- SQL语句:Mac 下 处理myql 不能远程登录和本地登录问题
热门文章
- .Net Core HTTP Error 500.0 - ANCM In-Process Handler Load Failure 发布后启动错误处理
- 【转载】记一次因 Redis 使用不当导致应用卡死 bug 的排查及解决!
- 关于java基础、多线程、JavaWeb基础、数据库、SSM、Springboot技术汇总
- 从零开始的vue学习笔记(一)
- MTDDL 美团分布式数据访问中间件(转)
- Exceptionless应用--自定义插件
- Android框架式编程之Lifecycle
- Spring Boot与ActiveMQ整合
- python快速导出sql语句(mssql)的查询结果到Excel,解决SSMS无法加载大字段的问题
- Oracle 11g Dataguard参数详解