2017-03-31 81 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 
... 

我留给你列的解析。