4

我想从这样的表中将数据导入R

http://www.rout.gr/index.php?name=Rout&file=results&year=2011

我尝试按照以下线程的建议使用 XML 库,但我什么也得不到。

使用 XML 包将 html 表抓取到 R 数据帧中

4

2 回答 2

5

该网站似乎确实发生了一些时髦的事情。除非您伪造用户代理,否则它似乎不会返回任何数据。即使这样, readHTMLTable 的表现也不太好,如果您将整个doc. 阅读源代码后,您可以看到相关表具有 idtable_results_r_1并将其隔离并通过作品传递结果:

library(XML)
library(httr)

theurl <- "http://www.rout.gr/index.php?name=Rout&file=results&year=2011"
doc <- htmlParse(GET(theurl, user_agent("Mozilla")))
results <- xpathSApply(doc, "//*/table[@id='table_results_r_1']")
results <- readHTMLTable(results[[1]])
rm(doc)

现在您需要整理表格列名。

于 2012-08-11T05:50:23.557 回答
2

除了我的评论

theurl <- "http://www.rout.gr/index.php?name=Rout&file=results&year=2011"
doc <- htmlParse(GET(theurl, user_agent("Mozilla")))
removeNodes(getNodeSet(doc,"//*/comment()"))
dum.tables<-readHTMLTable(doc)

所以第 14 个表的标题中的注释引起了问题。我们可以删除所有 html 注释,然后该功能将适用于页面上的所有表格。

于 2012-08-12T03:57:41.740 回答