暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Scrapy-Redis架构分析.pdf
13
3页
0次
2025-03-17
免费下载
Scrapy-Redis 架构分析
.
scrapy-redis 简介
scrapy原的任务调度是基于件系统,通过JOBDIR指定任务信息存储的路径。这样只能
在单机执crawlscrapy-redis将任务和数据信息的存取放到redis queue,使多台服务器可以同
时执crawltems process,提了数据爬取和处理的效率。
scrapy-redis是基于redisscrapy 组件,主要功能如下:
分布式爬
多个爬实例分享个jobs redis queue队列,常适合范围多域名的爬集群
分布式后处理
爬抓取到的items push 到个 items redis queue,这就意味着可以开启多个items
processes来处理抓取到的数据
.
scrapy原架构
分析scrapy-redis的架构之前先回顾下scrapy的架构
组件
Scrapy Engine
引擎负责控制数据流在系统中所有组件中流动,并在相应动作发时触发事件。 详细内容查看下
的数据流(Data Flow)部分。
调度器(Scheduler)
调度器从引擎接受request并将他们队,以便之后引擎请求他们时提供给引擎。
Spiders
SpiderScrapy户编写于分析response并提取item(即获取到的item)或额外跟进的URL的类。
每个spider负责处理个特定(或些)站。 更多内容请看 Spiders
Item Pipeline
Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、 验证及持久化(例如存取到数
据库中) 更多内容查看 Item Pipeline
数据流(Data flow)
Scrapy中的数据流由执引擎控制,其过程如下:
引擎打开个站(open a domain),找到处理该站的Spider并向该spider请求第个要爬取的
URL(s)
引擎从Spider中获取到第个要爬取的URL并在调度器(Scheduler)Request调度。
引擎向调度器请求下个要爬取的URL
调度器返回下个要爬取的URL给引擎,引擎将URL通过下载中间件(请求(request)向)转发给下载
(Downloader)
旦下载完毕,下载器成个该的Response,并将其通过下载中间件(返回(response)
)发送给引擎。
引擎从下载器中接收到Response并通过Spider中间件(输向)发送给Spider处理。
Spider处理Response并返回爬取到的Item(跟进的)新的Request给引擎。
引擎将(Spider返回的)爬取到的ItemItem Pipeline,将(Spider返回的)Request给调度器。
(从第步)重复直到调度器中没有更多地request,引擎关闭该站。
.
scrapy-redis 架构
如上图所,scrapy-redisscrapy的架构上增加了redis,基于redis的特性拓展了如下组
件:
调度器(Scheduler)
of 3
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜