纵观国内外,的市场发展迅猛,政府的扶持也达到了空前的力度,甚至将大数据纳入发展战略。如此形势为社会各界提供了很多机遇和挑战,而我们作为卫生(医学)统计领域的一份子,更要把握好机会。放眼全球,大数据的应用规模仍在持续扩张,几乎每个行业都将目光瞄准了大数据背后的巨大价值。未来五到十年,是我国推进大数据发展的关键时期,打造高效的大数据应用机制和产业链迫在眉睫。
空格根据当前大数据行业发展的分析,我们着手大数据不妨从“可视化数据抓取”开始考虑。这里提到的可视化数据抓取,主要指对互联网网页数据的抓取,这样可以实现大数据应用的平民化。当前我们已经可以通过简易的网页数据抓取工具,对其所需的网页数据进行抓取,如某知名网页数据抓取工具“**采集器”(收费)。已有的互联网数据抓取、处理、分析,挖掘软件,可以灵活迅速地抓取网页上散乱分布的数据信息,并通过一系列的分析处理,准确挖掘出所需数据。这样带来的高效、便捷和平民化是不言而喻的。
空格今天小编作为大数据行业的一员,基于广受欢迎的R软件,给大家介绍如何实现网页数据抓取技术。对,是R!它除了强大的统计分析功能,其网页抓取的能力也是不可小觑的,尤其是Hadley写的R包rvest,可谓把复杂的事情简单化。使用R语言进行网页数据的抓取,最大的优势在于获取数据后强大的数据处理、分析以及可视化功能。
实例
空格下面以rvest包抓取广州的空气质量数据为例进行讲解。
网页数据如下图:
#加载程序包
library(rvest)
#找到要抓取数据的网址
url="http://www.pm25s.com/guangzhou.html"
#解析网址内容
web= read_html(url,encoding="UTF-8")
#截取如上图空气质量数据
aqi=web %>% html_nodes("span") %>% html_text()#注意!很多朋友在这一步会出现乱码的情况
aqi=aqi[8:127]
#将截取的数据整理成数据框
aqi=matrix(aqi,ncol=10,byrow=T)
aqi=data.frame(aqi)
for(i in 1:ncol(aqi)){
aqi[,i]=as.character(aqi[,i])
aqi[,i]=gsub("\"","",gsub("\\n","",aqi[,i]))
}
names(aqi)=aqi[1,]
aqi=aqi[-1,]
aqi
如果一切正常,将会出现如下结果:
空格至此,已经实现了R软件对网页数据的抓取,后续可以对空气质量指数做时间序列以及空间分布的展示,当然上述仅仅是大数据的皮毛,还有很多东西可以探索并拓展。比如,针对网页数据的抓取,若能实现动态实时抓取,才会发挥大数据的价值。
结束
空格学会了上面的小技能,应用不再是单纯的喊喊口号!当然,可以实现网页数据抓取的软件还有很多,比如python、sas、excel等等,有兴趣的朋友可以尽情尝试。美国市场研究公司IDC发布报告显示,全球大数据技术及服务市场在2016年将达238亿美元,激活我国大数据的资产价值,开启大数据新生态的目标仍需社会各界的共同努力!