大数据技术之数据采集篇
优采云 发布时间: 2020-05-12 08:03【导读】数据采集是进行大数据剖析的前提也是必要条件,在整个流程中抢占重要地位。本文将介绍大数据三种采集形式:系统日志采集法、网络数据采集法以及其他数据采集法。
(一)系统日志采集法
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的风波。用户可以通过它来检测错误发生的诱因,或者找寻遭到功击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。(百度百科)大数据平台或则说类似于开源Hadoop平台会形成大量高价值系统日志信息,如何采集成为研究者研究热点。目前基于Hadoop平台开发的Chukwa、Cloudera的Flume以及Facebook的Scribe(李联宁,2016)均可成为是系统日志采集法的标杆。目前这种的采集技术大概可以每秒传输数百MB的日志数据信息,满足了目前人们对信息速率的需求。一般而言与我们相关的并不是这种采集法,而是网路数据采集法。
在这里还是要推荐下我自己建的大数据学习交流群:529867072大数据网络爬虫原理,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和中级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。
(二)网络数据采集法
做自然语言的朋友可能对这点感慨颇深,除了目前早已存在的公开数据集,用于日常的算法研究外,有时为了满足项目的实际需求,需要对现实网页中的数据进行采集,预处理和保存。目前网路数据采集有两种方式一种是API,另一种是网路爬虫法。
1.API
API又叫应用程序插口,是网站的管理者为了使用者方面,编写的一种程序插口。该类插口可以屏蔽网站底层复杂算法仅仅通过简简单单调用即可实现对数据的恳求功能。目前主流的社交媒体平台如新浪微博、*敏*感*词*以及Facebook等均提供API服务,可以在其官网开放平台上获取相关DEMO。但是API技术虽然受限于平台开发者,为了减少网站(平台)的负荷大数据网络爬虫原理,一般平台均会对每晚插口调用上限做限制,这给我们带来极大的不便利。为此我们一般采用第二种形式——网络爬虫。
2.网络爬虫
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOFA社区中间,更时常的称为网页追逐者),是一种根据一定的规则,自动地抓取万维网信息的程序或则脚本。另外一些不常使用的名子还有蚂蚁、自动索引、模拟程序或则蠕虫。(百度百科)最常见的爬虫便是我们常常使用的搜索引擎,如百度,360搜索等。此类爬虫也称为通用型爬虫,对于所有的网页进行无条件采集。通用型爬虫具体工作原理见图1。
图1 爬虫工作原理[2]
给予爬虫初始URL,爬虫将网页中所须要提取的资源进行提取并保存,同时提取出网站中存在的其他网站链接,经过发送恳求,接收网站响应以及再度解析页面,提取所需资源并保存,再将网页中所需资源进行提取......以此类推,实现过程并不复杂,但是在采集时尤其注意对IP地址,报头的伪造,以免被网管发觉禁封IP(我就被封过),禁封IP也就意味着整个采集任务的失败。当然为了满足更多需求,多线程爬虫,主题爬虫也应运而生。多线程爬虫是通过多个线程,同时执行采集任务,一般而言几个线程,数据采集数据都会提高几倍。主题爬虫和通用型爬虫截然相反,通过一定的策略将于主题(采集任务)无关的网页信息过滤,仅仅留下须要的数据。此举可以大幅度降低无关数据引起的数据稀疏问题。
(三)其他采集法
其他采集法是指对于科研院所,企业政府等拥有绝密信息,如何保证数据的安全传递?可以采用系统特定端口,进行数据传输任务,从而降低数据被泄漏的风险。