数据采集与清洗;数据采集具有悠久的历史,在远古时期,人们便学会了在绳子上打结,进行数字的记录。到了19世纪,1887年,美国统计学家霍尔曼·霍尔瑞斯发明了一台电动机器,它能够读取卡片上的洞数,使用这台设备,美国仅用了一年时间,就完成了原本需要8年才能完成的人口普查工作。;人工采集方法是一种非常传统的数据采集方法,其中最古老的就是普查,它至今已有数千年的历史。据记载2200多年前的西汉时期,中国就开展了第1次人口普查,这也是早期人工数据采集的典范。;1895年,学术界提出了抽样调查方法,并且在后来的30多年进行完善,使得这个调查方法成为一种更及时、更经济的数据采集方法,被广泛应用在经济、社会和科学研究领域。直到今天,它仍然是一种特别有效的方法。;进入20世纪,数据采集的重要性更加得到重视。例如在1934年到1937年间,美国总统罗斯福就开展了一项数据收集的计划,他整理了美国2600万个员工和300万个雇主的记录,有了这些数据,就可以很好的开展社会保障法的系列工作。;到了21世纪,数据采集得到了进一步的发展。2009年印度政府建立了印度唯一的身份识别管理部门,它对12亿印度人进行了指纹、照片和虹膜等个人特征信息的采集,并且为每一个印度人分配了12位数字ID号码,将这些身份数据汇集到世界上最大的生物识别数据库中,这也是当时影响非常广泛的一个数据采集的例子。;数据采集在各行各业都有广泛的应用,比如旅游行业通过收集各类相关信息,能够帮助人们优化出行策略;在电子商务领域,通过对商品类别、商品名称、商品价格等信息进行数据采集和分析,可以构建商品比价系统;再比如银行通过收集用户的个人交易数据,对用户的征信和贷款进行评级,此外在金融领域、招聘领域和舆情分析领域中数据采集也是非常重要的。;学生数据采集;大数据采集;网络爬虫的对象主要是各类网站,包括新闻类、社交类、购物类以及相应的一些API、用户接口和一些流型数据,比如说目前各种视频的一些弹幕数据。;数据采集的方法
;(2)网络数据采集;(3)数据库采集;数据采集平台;Flume内部有一个或者多个Agent,每一个Agent都由Source,Channel和Sink组成。Source负责接收输入数据,并将数据写入管道。
;Fluentd
;在实际应用中,Fluentd主要负责从服务器收集日志信息,并将数据流交给后续数据存储。因此,Fluentd可以解决数据流流向混乱的问题。
;Logstash;从功能上看,Inputs用于从数据源获取数据,Filters用于处理数据如格式转换,数据派生等,Outputs用于数据输出
;Chukwa;Chukwa中的主要部件包含有Agents、Adaptors、Collectors、Map/ReduceJobs以及HICC等。其中Agents负责采集最原始的数据,并发送给Collectors;Adaptors是直接采集数据的接口和工具,一个Agent可以管理多个Adaptor的数据采集;Collectors负责收集Agent收送来的数据,并定时写入集群中;Map/ReduceJobs则执行定时启动任务,负责把集群中的数据分类、排序、去重和合并;HICC负责数据的最后展示。
;Scribe;Scribe的架构比较简单,主要包括三部分,分别为Scribeagent,Scribe和存储系统。
;Kafka;Kafka实际上是一个消息发布订阅系统,它主要有三种角色,分别为Producer,Broker和Consumer。Producer向某个topic发布消息,而Consumer订阅某个topic的消息,进而一旦有新的关于某个topic的消息,Broker会传递给订阅它的所有Consumer。
;爬虫主要是与网页打交道的,在了解爬虫之前,必须要了解网页的工作方式。
(1)网页请求和响应的过程
1)Request(请求)。每一个用户打开的网页都必须在最开始由用户向服务器发送访问的请求。
2)Response(响应)。服务器在接收到用户的请求后,会验证请求的有效性,然后向用户发送相应的内容。客户端接收到服务器的相应内容后,再将此内容展示出来,以供用户浏览。;网页请求的方式一般分为两种:GET和POST。
1)GET:GET是最常见的请求方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式。
2)POST:POST与GET相比,多了以表单形式上传参数的功能,因此除了查询信息外,还可以修改信息。
;用户使