如今,随着互联网的飞速发展,现在的社会已经进入数据高度发达且公开的信息时代,海量的数据不仅仅对企业经营决策起到作用,对于政府决策以及社会动态分析等同样举足轻重,相应的,如何进行大规模、快速采集数据也成为了目前的技术焦点。


网络爬虫是指根据某种规则而在互联网上游走并爬取网页文本的程序或者脚本。一般来说,文本数据大部分都嵌套在网页程序代码中。数据采集的效率很大程度上决定了抓取数据的时效性,因此,数据的采集速度成为了重中之重。


基于大数据平台的的互联网数据采集,能够有效使用于大量数据采集需要,为实现大规模分布式数据采集提供了工具,其架构主要包括信源管理、数据采集、数据传输、数据存储、系统监控等部分。


上图中各部分功能介绍如下:


信源管理系统


一般主要用来进行采集任务的管理。其中主要包括以下几种应用场景:


网站:用于对采集网站的管理


栏目:用于精确采集;



关键词:用于搜索引擎采集。如:百度、搜狗搜索、Google搜索等;



微信公众号:用于对特定公众号的监控;



微博博主:用于对指定博主的动态进行监控;


其他采集源管理。如电子期刊、APP客户端等


信源系统的主要作用:


方便运营维护人员对数据采集源的增删改查等;


根据数据源的状态、正则状态等,实时监控网站;


对于关键词搜素采集,便于实时增加/删除、启动/关闭采集;


根据采集的实际情况,实时调整采集策略。如增加/删减采集器等;


数据采集层


数据采集层主要用于采集队列管理、调度、数据采集等,其中主要包括:


1:Redis缓存平台:主要用于缓存采集任务队列、过程数据(采集状态、列表数


据等)等数据的临时存储;


2:任务调度中心:主要用于采集任务的调度,保证任务按设置的采集频率被


采集。同时保证任务处理的唯一性(同一任务,同一时间,


只能被一个采集器处理);


3:采集器:主要用于任务的处理。主要包括网页下载、数据结构化解析,任务监控等;


数据存储层


数据存储层主要用于采集数据的传输、分析、保存等,其中主要包括:


1:数据传输:采集器把解析出来的新闻、博客、公众号文章等内容,通过统一的SpringBoot微服务接口,推送到kafka中间件。同时,对数据的质量进行校验。主要要校验发布时间、标题、正文等解析的准确度。同时,对数据进行一定的分析(打标签、特定信源监控)等;


2:大数据平台:主要包括Hadoop、HBASE、kafka、spark、ES等。各采集器采


集的数据通过微服务接口,推送到kafka消息中间件,spark消费其中,把标题、时间、正文等创建ES索引,供业务查询使用,同时把完整的信息存入HBASE。


辅助监控系统


辅助监控系统主要用于监控各采集网站和栏目、采集调度服务、推送服务、采集器、大数据平台等,以保证其稳定、正常运转,其主要包括以下各子系统:


1:信源系统监控:主要监控网站、栏目、公众号、博主等状态,保证其正常访问;


2:采集监控:主要用于监控每个采集任务的状态,以便于对异常任务、数据漏采等情况进行排查。同时,根据记录的状态,亦可以校验网站、栏目等是否正常


3:服务器监控:主要监控服务器CPU、内存、硬盘等使用率,以及是否宕机。同时,根据服务器使用情况,合理部署采集器;


4:数据质量校验:主要用于实时监控数据质量,根据异常数据,反查信源等配置;


采集平台基本架构大致就这些内容了,更多数据采集相关知识分享,请关注火爪数据抓取

点赞(0)
立即
投稿
发表
评论
返回
顶部
{__SCRIPT__}