博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
众推平台架构——分布式爬虫
阅读量:5934 次
发布时间:2019-06-19

本文共 1066 字,大约阅读时间需要 3 分钟。

分布式爬虫架构

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

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

分布式爬虫架构1

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

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

分布式爬虫架构2

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

分布式爬虫架构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。

分布式爬虫架构4

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

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

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

群号 194338168

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

转载地址:http://bhjtx.baihongyu.com/

你可能感兴趣的文章
技术干货:使用静态缓存提升网站性能的五种方法!
查看>>
MySQL内核月报 2014.12-MySQL· 性能优化·thread pool 原理分析
查看>>
[收藏学习]关于Linux服务器时间同步nptdate
查看>>
告别1人年,教你21天搭建推荐系统!
查看>>
利用 NGINX 最大化 Python 性能,第二部分:负载均衡和监控
查看>>
C# 异常处理(Catch Throw)IL分析
查看>>
抽象工厂模式
查看>>
获取Checkbox的值
查看>>
【Mongodb】 replica set 添加和删除节点。
查看>>
[UI] 精美UI界面欣赏[6]
查看>>
聊聊JVM的年轻代
查看>>
《重构—改善既有代码设计》——第二章重构原则——学习笔记
查看>>
【原创】C#玩高频数字彩快3的一点体会
查看>>
Sqoop(2)
查看>>
【案例】说说time_zone 带来的性能问题
查看>>
BaseHTTPServer与CGIHTTPServer源码分析
查看>>
Xcode10.2中LLDB增加的新特性
查看>>
python学习——内置函数、数据结构、标准库的技巧
查看>>
Android Canva和Paint学习
查看>>
SCVMM 2012 部署测试之二域环境准备
查看>>