登录
首页精彩阅读写论文,没数据?R语言抓取网页大数据
写论文,没数据?R语言抓取网页大数据
2017-05-08
收藏

写论文,没数据?R语言抓取网页大数据

纵观国内外,大数据的市场发展迅猛,政府的扶持也达到了空前的力度,甚至将大数据纳入发展战略。如此形势为社会各界提供了很多机遇和挑战,而我们作为卫生(医学)统计领域的一份子,更要把握好机会。放眼全球,大数据的应用规模仍在持续扩张,几乎每个行业都将目光瞄准了大数据背后的巨大价值。未来五到十年,是我国推进大数据发展的关键时期,打造高效的大数据应用机制和产业链迫在眉睫。

空格根据当前大数据行业发展的分析,我们着手大数据不妨从“可视化数据抓取”开始考虑。这里提到的可视化数据抓取,主要指对互联网网页数据的抓取,这样可以实现大数据应用的平民化。当前我们已经可以通过简易的网页数据抓取工具,对其所需的网页数据进行抓取,如某知名网页数据抓取工具“**采集器”(收费)。已有的互联网数据抓取、处理、分析,挖掘软件,可以灵活迅速地抓取网页上散乱分布的数据信息,并通过一系列的分析处理,准确挖掘出所需数据。这样带来的高效、便捷和平民化是不言而喻的。

空格今天小编作为大数据行业的一员,基于广受欢迎的R软件,给大家介绍如何实现网页数据抓取技术。对,是R!它除了强大的统计分析功能,其网页抓取的能力也是不可小觑的,尤其是Hadley写的R包rvest,可谓把复杂的事情简单化。使用R语言进行网页数据的抓取,最大的优势在于获取数据后强大的数据处理、分析以及可视化功能。

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亿美元,激活我国大数据的资产价值,开启大数据新生态的目标仍需社会各界的共同努力!

数据分析咨询请扫描二维码

客服在线
立即咨询