我试图使用XML包提取一些表格(选举数据)。浏览SO,我发现如何使用一个URL:如何从链接列表中删除HTML表格
library(XML)
url <- "http://www.elecciones2011.gob.ar/paginas/paginas/dat99/DPR99999A.htm"
total <- readHTMLTable(url)
n.rows <- unlist(lapply(total, function(t) dim(t)[1]))
df<-as.data.frame(total[[which.max(n.rows)]])
通过上面的代码,我得到了足够好的结果。我也可以(使用readLines函数和一些调整)来获取我想要抓取的所有URL的矢量。就像这样:
base_url <- "http://www.elecciones2011.gob.ar/paginas/paginas/"
urls <- paste(
base_url,
c(
"dat02/DPR02999A",
"dat03/DPR03999A",
"dat04/DPR04999A",
"dat05/DPR05999A",
"dat06/DPR06999A",
"dat07/DPR07999A",
"dat08/DPR08999A",
"dat09/DPR09999A",
"dat10/DPR10999A",
"dat11/DPR11999A",
"dat12/DPR12999A",
"dat13/DPR13999A",
"dat14/DPR14999A",
"dat15/DPR15999A",
"dat16/DPR16999A",
"dat17/DPR17999A",
"dat18/DPR18999A",
"dat19/DPR19999A",
"dat20/DPR20999A",
"dat21/DPR21999A",
"dat22/DPR22999A",
"dat23/DPR23999A",
"dat24/DPR24999A"
),
".htm",
sep = ""
)
我想要做的是在一个或多个创建运行在所有URL的readHTMLTable功能的功能,并存储在一个向量或数据帧的结果(,无论是更容易)。我对R很新,而且我在功能上特别糟糕。我试过类似...
tabla<- for (i in urls){
readHTMLTable(urls)
}
...但它甚至不是很接近。
非常感谢,非常感谢! –
打勾小勾,给洪Ooi一些点,这将标记此答案为答案.... – Spacedman
在那里,我标记的答案被接受。我不能给Hong Ooi点,我需要15点的声望:(谢谢 –