众推平台架构——分布式爬虫

简介: 分布式爬虫架构 经过新一轮的投票,项目的范围已经基本确定。 大家决定 全力以付,集中攻克“分布式爬虫”。 分布式爬虫架构1 使用队列,即生产者,消费都模式。 由于生产者将规则生成到队列,然后由爬虫集群(消费者)到队列中取规则,然后按优先级等规则进行爬取。

分布式爬虫架构

经过新一轮的投票,项目的范围已经基本确定。

image

大家决定 全力以付,集中攻克“分布式爬虫”。

分布式爬虫架构1

使用队列,即生产者,消费都模式。

生产者消费者

由于生产者将规则生成到队列,然后由爬虫集群(消费者)到队列中取规则,然后按优先级等规则进行爬取。

分布式爬虫架构2

类似于webmagic,webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。

image

分布式爬虫架构3

分布式爬虫架构3,参考的Cola是一个分布式的爬虫框架,用户只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。

基于Cola实现的爬虫位于contrib/目录下。目前实现了四个爬虫:

  • wiki:维基百科。

  • weibo:新浪微博爬虫。从初始用户出发,然后是其关注和粉丝,依次类推,抓取指定个数的新浪微博用户的微博、个人信息、关注和粉丝。其中,用户微博只获取了内容、赞的个数、转发和评论的个数等等,而没有具体去获取此微博被转发和评论的内容。

  • generic(unstable):通用爬虫,只需配置,而无需修改代码。目前Cola实现了一个抽取器(cola/core /extractor),能够从网页正文中自动抽取主要内容,即去除类似边栏和底脚等内容。但是,此抽取器目前准确度还不够,效率也不够高,所以需要谨慎 使用。

  • weibosearch(unstable):新浪微博搜索的爬虫。这个爬虫使用 cola.core.opener.SpynnerOpener,基于spynner实现了一个Opener能够执行JavaScript和Ajax代 码。目前这个爬虫存在的问题是:新浪微博可能会将其识别成机器人,因此有可能会让输入验证码。

wiki和weibo之前有所提及。主要说明generic和weibosearch。

image

分布式爬虫架构4

设计方式参考hadoop等分布式运算架构。

分布式爬虫架构4

控制结点类似于hadoop的namenode,工作结点类似于datanode。存储可以根据代理适配到DB或者Mongo集群等。

有想参与的可以一起进来讨论

群号 194338168
想深度参与的加,不想参与的就别往里进了,现在需要的主要是开发和文档两类人。群会定期往出清人! (项目会开源出来)

目录
相关文章
|
7月前
|
存储 监控 前端开发
【Java应用服务体系】「序章入门」全方位盘点和总结调优技术专题指南
【Java应用服务体系】「序章入门」全方位盘点和总结调优技术专题指南
94 0
|
自然语言处理 搜索推荐 UED
有钱景线上赛事直播开发搭建,探讨需要哪些核心功能
随着体育赛事直播平台成为用户最主要观赛,那么要打造一家充满活力的赛事直播平台,需要提供以下功能和内容。
|
缓存 负载均衡 监控
一套互联网公司理想架构,快快收藏。。(2)
一套互联网公司理想架构,快快收藏。。(2)
168 0
一套互联网公司理想架构,快快收藏。。(2)
|
域名解析 负载均衡 网络协议
一套互联网公司理想架构,快快收藏。。(1)
一套互联网公司理想架构,快快收藏。。(1)
274 0
一套互联网公司理想架构,快快收藏。。(1)
|
存储 缓存 网络协议
一套互联网公司理想架构,快快收藏。。(3)
一套互联网公司理想架构,快快收藏。。(3)
155 0
一套互联网公司理想架构,快快收藏。。(3)
|
架构师 UED
聚焦Web3.0时代下元宇宙社交新浪潮,阿里云特此追热点规划音视频领域线上宣讲会
7月20日 19:00-20:10,阿里云智能-产品解决方案架构师李鑫《Web3.0布局深化,链路升级加速音视频出海进程》主题演讲,扫码报名,观看直播!
421 0
聚焦Web3.0时代下元宇宙社交新浪潮,阿里云特此追热点规划音视频领域线上宣讲会
|
机器学习/深度学习 算法 数据可视化
闲鱼触达平台的大杀器-HermesX
基于用户+基于行业+免打扰
419 0
闲鱼触达平台的大杀器-HermesX
|
存储 XML 缓存
OTT端性能优化建设之本地缓存设计 | 《优酷OTT互联网大屏前端技术实践》第七章
目前,做2C业务的应用,更多强调SSR、客户端缓存以及PWA等,以实现首屏加载体验优化、秒开等性能指标,相比较而言,这些策略更加“综合”“强壮”,如果合理运用以及借助端能力,实现冷启动提速、首屏加载优化、秒开等不在话下。 但是笔者业务服务于“OTT端酷喵APP”前端业务,主要是酷喵APP的HTML5投放(目前更换使用Rax),而端内浏览器并不支持service worker(PWA),且受制于端及浏览器内核,并无zcache类似能力。至此,大写的无奈涌上心头,这种情况还能不能抢救一把?答案是:可以,localStorage迂回包抄方案。也介于此,本文方案诞生,虽不完美,但是终究有闪光所在。
1235 0
OTT端性能优化建设之本地缓存设计 | 《优酷OTT互联网大屏前端技术实践》第七章
|
BI 数据库 分布式计算
视频网站数据平台变迁之路(二)
摘要:上一篇主要介绍了 数据系统架构V1 总体架构及 数据采集与数据存储,本篇我们来聊聊架构下的数据分析遇到的各种情况
1612 0
下一篇
DataWorks