众推平台架构——分布式爬虫
分布式爬虫架构
经过新一轮的投票,项目的范围已经基本确定。
大家决定 全力以付,集中攻克“分布式爬虫”。
分布式爬虫架构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
想深度参与的加,不想参与的就别往里进了,现在需要的主要是开发和文档两类人。群会定期往出清人! (项目会开源出来)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
浅谈Hadoop
大数据的概念炒了好多年了,很显然这项技术经受住了时间的考验,不是有些人想的那样华而不实,多年来总是伴随着Hadoop的身影越发壮大。 这些年来数据的增长量真是发生了天翻地覆的变化,原来大家过年的时候都会很认真的拍一张全家福,恨不得把胶卷能够正反两用,多存点照片,现在好了,手机各类终端齐上阵,微博,微信,图片,小视频,所有的数据真是应有尽有。数据量上来了,数据的分析工作就显得尤为重要了。用现在很形象的一种描述就是,让数据说话。 Hadoop的使命就是主要海量数据的存储和分析,也有两个核心的功能,一个是HDFS,一个就是MapReduce。怎么理解呢,HDFS就是Hadoop Distributed FileSystem, MapReduce是一个编程模型,所做的工作是map和reduce两部分,这些海量数据需要存储,这个很容易理解,那么什么是MapReduce呢? 举一个简单的例子。 我们存在一些文本数据,是关于pm2.5的。记录了每天的数据情况。内容如下: 20150321 01 60 20150321 06 5020150321 12 10020150320 01 200201503...
- 下一篇
hbase集群安装和shell操作
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/44596537 1.上传hbase安装包 2.解压 3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了) 注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下 让hbase节点知道hdfs的映射关系,也可以在hbase-site.xml中配置 3.1修改hbase-env.sh export JAVA_HOME=/usr/java/jdk //告诉hbase使用外部的zk export HBASE_MANAGES_ZK=false vi hbase-site.xml <configuration> <!-- 指定hbase在HDFS上存储的路径 --> <property> <name>hbase.rootdir</name> <value>hdfs:/...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Mario游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块