美文网首页编程大数据部落数据-R语言-图表-决策-Linux-Python
如何用R语言爬取网页表格数据节省一天工作时间

如何用R语言爬取网页表格数据节省一天工作时间

作者: 小熊猫在成长 | 来源:发表于2017-02-23 08:46 被阅读1079次

    今天R语言给我帮了一个大忙,简单的几行代码几乎节省了我一天的时间,小白表示R语言太有用了!

    问题如下:

    我想获取网页中表格里的数据,网页表格如下图

    但是呢,很坑爹的是,这个表格不能复制粘贴,Ctrl+C,Ctrl+V后出来的只是网址,估计是被禁用了复制粘贴功能。而如果一个一个敲的话工作量会很大,估计最后眼都要瞎了……

    整个数据量如下,http://www.chinacustomsstat.com/aspx/1/NewData/Stat_Data.aspx?state=1&next=2¤cy=usd&year=2016

    有2014-2017年四年,每年有7个项目,每个项目分成12个月,共计336个表,有的表内容还特别多,数字特别大,如下所示:

    照这个工作量,一个数一个数敲到Excel中的话,一天不吃不喝估计都搞不定。

    幸好,我最近刚入门了R……

    听说R语言也有爬取数据的功能,于是在网上简单的搜了一些帖子后,利用了XML包,成功的将这网页中的336个表存成了Excel格式。

    代码如下:

    >install.packages(“XML”)#安装XML包

    >library(XML) #载入XML包

    >u<-"http://www.chinacustomsstat.com/aspx/1/NewData/Stat_Class.aspx?state=1&t=2&guid=7146"  #写入表格所在的网址

    >tbls<-readHTMLTable(u) #分析网页中的表格,如果网页包含多个表格,需要确定读取哪个表。可通过识别表的行数来确定,具体见R语言网页数据抓取的一个实例_戊甲_新浪博客

    >pop<-readHTMLTable(u,which=1) #读取网页中的第一张表

    >write.csv(pop,file="d:/pop.csv") #存储pop为CSV文档至D盘中

    这样,就快速实现了网页中的数据爬取。第一次将R语言运用到工作中去,灰常有成就感~但是毕竟有336个网页,最后要运行336次代码,工作量也是有的。各位童鞋如果有更好的方法可以更快速的导出数据的欢迎提供~

    相关文章

      网友评论

      本文标题:如何用R语言爬取网页表格数据节省一天工作时间

      本文链接:https://www.haomeiwen.com/subject/fpmvwttx.html