用R从php网站上读取数据

时间:2012-08-11 04:39:48

标签: php r import web-scraping

我想从这样的表格中将数据导入 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

2 个答案:

答案 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注释,然后该函数将适用于页面上的所有表。