我想从这样的表格中将数据导入 R :
http://www.rout.gr/index.php?name=Rout&file=results&year=2011
我尝试使用XML库,如下面的主题所示,但我无法得到任何东西。
Scraping html tables into R data frames using the XML package
答案 0 :(得分:4)
该网站似乎确实存在一些时髦的事情。除非您伪造用户代理,否则它似乎不返回任何数据。即使这样,readHTMLTable也不会表现得太好,如果将整个doc
传递给它,则会返回错误。阅读源代码后,您可以看到相关表格具有标识table_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)
现在你需要整理表格列名。
答案 1 :(得分: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注释,然后该函数将适用于页面上的所有表。