如何用R語言爬取網頁表格數據節省一天工作時間

今天R語言給我幫了一個大忙,簡單的幾行代碼幾乎節省了我一天的時間,小白表示R語言太有用了!

問題如下:

我想獲取網頁中表格里的數據,網頁表格如下圖

但是呢,很坑爹的是,這個表格不能複製粘貼,Ctrl+C,Ctrl+V後出來的只是網址,估計是被禁用了複製粘貼功能。而如果一個一個敲的話工作量會很大,估計最後眼都要瞎了……

整個數據量如下,chinacustomsstat.com/as

有2014-2017年四年,每年有7個項目,每個項目分成12個月,共計336個表,有的表內容還特別多,數字特別大,如下所示:

照這個工作量,一個數一個數敲到Excel中的話,一天不吃不喝估計都搞不定。

幸好,我最近剛入門了R……

聽說R語言也有爬取數據的功能,於是在網上簡單的搜了一些帖子後,利用了XML包,成功的將這網頁中的336個表存成了Excel格式。

代碼如下:

>install.packages(「XML」)#安裝XML包

>library(XML) #載入XML包

>u<-"chinacustomsstat.com/as" #寫入表格所在的網址

>tbls<-readHTMLTable(u) #分析網頁中的表格,如果網頁包含多個表格,需要確定讀取哪個表。可通過識別表的行數來確定,具體見R語言網頁數據抓取的一個實例_戊甲_新浪博客

>pop<-readHTMLTable(u,which=1) #讀取網頁中的第一張表

>write.csv(pop,file="d:/pop.csv") #存儲pop為CSV文檔至D盤中

這樣,就快速實現了網頁中的數據爬取。第一次將R語言運用到工作中去,灰常有成就感~但是畢竟有336個網頁,最後要運行336次代碼,工作量也是有的。各位童鞋如果有更好的方法可以更快速的導出數據的歡迎提供~


推薦閱讀:

R學習筆記--《R語言實戰》第4章
用R語言處理Excel數據
ggmap:使用ggplot2進行空間可視化繪圖(上篇)
R語言爬蟲可視化——用數據來聊聊2017年首周各大城市空氣質量
玩轉數據地圖系列之——地圖上的迷你條形圖

TAG:R编程语言 | R | 网页爬虫 |