1

我正在尝试废弃网站上的表格,但无法成功......我已经做了很多次,它总是有效,但从那时起,表格似乎是某种 Javascript,并且解析根本不起作用?有人能帮我吗?

页面在这里

我已经尝试过通常的方法:

readHTMLTable(doc//table[@id='live-player-home-offensive-grid'], as.data.frame=TRUE, header=FALSE)
# or
xpathSApply(pagetree, "//*/table[@id='live-player-home-offensive-grid']", xmlValue)
4

1 回答 1

1

问题是数据不在表格中,而是在 Javascript 代码中——它仅在页面呈现时在您的浏览器中放入表格中。

除了使用 Javacript 工具或 Web 浏览器控制器( Zombie.jsCasperJSPhantomJSSelenium)之外,我没有看到一种干净的提取方法。

下面将 HTML 页面作为字符串读取,并查找initialData显然包含数据的变量的定义。它以相同的难以使用的格式返回数据,列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表列表

library(RCurl)
url <- "http://www.whoscored.com/Matches/411429/LiveStatistics/England-Premier-League-2010-2011-Fulham-Arsenal"
html <- getURL(url)
initial_data <- gsub("^.*?initialData = (.*?);.*", "\\1", html)
initial_data <- gsub("'", '"', initial_data)
library(RJSONIO)
data <- fromJSON( initial_data )
于 2013-10-27T00:53:25.313 回答