2017-03-31 23 views
0

我一直在嘗試下載this table到R沒有成功。從網站下載表到R

我正在使用的代碼是這樣的一個

library(XML) 
web_banrep <- "http://obieebr.banrep.gov.co/analytics/saw.dll?Go&Action=prompt&lang=es&NQUser=publico&NQPassword=publico&path=%2Fshared%2fSeries%20Estad%C3%ADsticas%2F1.%20Empleo%20y%20desempleo%2F1.1%20Serie%20hist%C3%B3rica%2F1.1.1.EMP_Total%20nacional&Options=rdf" 
desemp  <- readHTMLTable(web_banrep, header=T, which=1,stringsAsFactors=F) 

我會很感激的任何幫助。

+1

表格是動態生成的,實際上並未嵌入到該頁面的HTML中。當_browser_訪問頁面時會生成一些javascript,生成表格,但是當_R_查看該地址時,它只會看到一個錯誤頁面。請親自看看 - 使用'download.file(web_banrep,'what_R_sees.txt')'下載文件。你可能有更好的運氣下載他們也提供的數據的Excel文件。 –

回答

2

如果你只是想一個表,對於這種JS-依賴網站的一個非常方便的工具是:
鍍鉻管(PluginGithub

有了它,你可以從你目前呈現的DOM數據就像你在Chrome瀏覽器中看到的一樣。我通常使用

selectorgadget | text | pbcopy 

其將數據複製到剪貼板

可選擇性的是:

selectorgadget | text | gist 

,讓你與你的數據鏈接到一個要點。這裏是你的:

https://gist.github.com/anonymous/3772146382b500195a22ba2b10962ffa

從那裏點擊原材料,讓您的數據的URL。 然後,您可以使用R作爲如下分析它:

gist_raw <- "https://gist.githubusercontent.com/anonymous/3772146382b500195a22ba2b10962ffa/raw/218b07739f6c146ec4ff15ec78657adc26455c95/data.txt" 
raw <- read.table(gist_raw) 

col <- seq(1, nrow(raw), by = 3) 
data.frame(col1 = raw[col,], col2 = raw[col + 1,], col3 = raw[col + 2,]) 

這給了你:

 col1 col2 col3 
1 2017-02 57,25 10,50 
2 2017-01 56,34 11,73 
3 2016-12 58,98 8,74 
4 2016-11 60,35 7,51 
5 2016-10 60,77 8,29 
6 2016-09 58,71 8,51 
... 

我留給你列的解析。