数据采集、数据抓取和数据抽取的区别是什么?

 数据采集:就是把物量信号采集下来,一般指的经过A/D转换采集到电脑。
 数据抓取:这也可能是太粗俗的一种说法,比如说把网络的某种数据抓取过来等。
 数据抽取:比如采集的数据,进行抽点的形式,取一些代表数据进行分析。

感觉一、三有些关联。二应不是科学界的一种表达。
据采集分为多种,如从纸质的或非结构化资料中整理成可以存入数据库的结构化数据的过程可以算一种数据采集;再如将已有的某数据库中数据导出到另一个数据库中也可以算一种数据采集;还如通过观察记录获得某些环境指标(空气质量、温度、湿度、人体体温、机器cpu占用率等等)变化的过程也可以算一种数据采集等等。总之,就是一种数据存在形式经过“某种处理”转变成另一种数据存在形式,我个人认 为所谓的“某种处理”都统称为数据采集。
数据抓取一词用的较多的就是如网页内容数据抓取等,从某种意义上说与数据采集有部分含义雷同,但性质上貌似数据主体有一种主动和被动的区别。当然,数据抓取更多的是指,从已有的某结构化数据中获得数据的过程。
数据抽取就是根据你的具体目标从某数据库中取出或归纳出你想要的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据数据采集的⼏种⽅式 ⼀、采集⼤数据的⽅法 1.1通过系统⽇志采集⼤数据 ⽤于系统⽇志采集的⼯具,⽬前使⽤最⼴泛的有:Hadoop 的Chukwa、ApacheFlumeAFacebook的Scribe和LinkedIn的Kafka等。这 ⾥主要学习Flume。 Flume是⼀个⾼可靠的分布式采集、聚合和传输系统,Flume⽀持在⽇志系统中定制各类数据发送⽅,⽤于收集数据,同时对数据进⾏简单 处理,并写到诸如⽂本、HDFS这些接受⽅中。 Flume的核⼼其实就是把数据数据源收集过来,再将收集到的数据送到指定的⽬的地…… 1.2通过⽹络采集⼤数据 ⽹络采集是指通过⽹络爬⾍或⽹站公开API等⽅式,从⽹站上获取⼤数据信息,该⽅法可以将⾮结构化数据从⽹页中抽取出来,将其存储为 统⼀的本地数据⽂件,并以结构化的⽅式存储。它⽀持图⽚、⾳频、视频等⽂件或附件的采集。 ⼀般来说,⽹络爬⾍⼯具基本可以分类3类:分布式⽹络爬⾍⼯具(Nutch)、Java⽹络爬⾍⼯具(Crawler4j、WebMagic、 WebCollector)、⾮Java⽹络爬⾍⼯具( Scrapy)。 1.2.1⽹络爬⾍原理 所谓的⽹络爬⾍,其实是⼀种按照⼀定规则,⾃动地抓取web信息的程序或脚本。 ⽹络爬⾍可以⾃动采集所有其能够访问到的页⾯内容,为搜索引擎和⼤数据分析提供数据来源,⼀般有数据采集数据处理和数据存储三部 分功能。 ⽹络爬⾍是如何爬数据的? 这是因为⽹页中除了供⽤户浏览的⽂字信息外,还包含⼀些超链接信息,通过获取这些超链接URL,再辅以⼀ 定的算法,爬⾍就能得到数据了。 1.2.2爬⾍⼯作流程 基本情况下,爬⾍会⾸先获取⼀部分种⼦URL,将这些URL放⼊待抓取URL队列,从队列中取出待抓取URL,解析DNS得到主机IP,并将 URL对应⽹页下载储存。最后将这些URL放⼊已抓取队列中,如此循环。 1.2.3爬⾍抓取策略 互联⽹上的⽹页数量以亿级为单位,该以什么样的策略爬这些⽹页的数据成为了⼀个问题,⼤致分为⼏个类型。 通⽤⽹络爬⾍,⼜称为全⽹爬⾍,主要为门户站点搜索引擎和⼤型web服务提供商采集数据,⼜分为深度优先策略和⼴度优先策略。 聚焦⽹络爬⾍,⼜称为主题⽹络爬⾍,是指选择性地爬⾏那些与预先定义好的主题相关的页⾯的⽹络爬⾍。也就是有⼀个明显的主题, ⽐如⽂本、⽐如图⽚……聚焦⽹络爬⾍⼜分为⼏种:1.基于内容、2.基于链接结构、3.基于增强学习(?)、4.基于语境(?) 增量式⽹络爬⾍,是指获取的⽬标⽹页尽量为新⽹页。 深层⽹络爬⾍,如果将那些传统搜索引擎可以索引的页⾯归属于表层⽹页,那么深层⽹络爬⾍获取的页⾯就是之外的"深层⽹页"。 1.3具体的爬⾍⼯具 1.3.1Scrapy Scrapy 是⼀个为了爬取⽹站数据、提取结构性数据⽽编写的应⽤框架,可以应⽤在包括数据挖掘、信息处理或存储历史数据等⼀系列的程 序中。 虽然Scrpay⾮常强⼤,不过它是适⽤于Python的,⽽本⼈正好⼜没有接触过Python,所以这⼀部分暂且只做了解…… 1.3.2Crawler4j、WebMagic、WebCollector 这三者都是JAVA的单机爬⾍开源框架,区别可能是在于算法和调度之类的地⽅?这点搜索了⼀下,都没有能查到,就姑且这样认为吧。 这⾥我就⽤WebMagic做⼀个Demo试⼀试吧! 1.4跑⼀下WebMagic 百度后我找到了WebMagic的 照着⾥⾯的例⼦测试⼀下: ⾸先新建⼀个maven项⽬,是不是web项⽬都可以,只要是maven就⾏了。嗯,当然不要maven也可以⼿动导⼊jar包,不过为了⽅便 还是使⽤maven吧。 官⽹有⼀个官⽅的简单例⼦ public class GithubRepoPageProcessor implements PageProcessor { // 部分⼀:抓取⽹站的相关配置,包括编码、抓取间隔、重试次数等 private Site site = Site.me().setRetryTimes(3).setSleepTime(1000); @Override // process是定制爬⾍逻辑的核⼼接⼝,在这⾥编写抽取逻辑 public void process(Page page) { // 部分⼆:定义如何抽取页⾯信息,并保存下来 page.putField("author", page.getUrl().regex("https://github\\.com/(\\w+)/.*").toString()); page.putField("name", page.getHtml().xpath("//h1[@class='entry-title public']/strong/a/text()").toStri

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值