2

我正在尝试从http://www.rsssf.com/tablese/eng2014.html中提取一些数据,例如联赛排名以及每轮 R 的得分。

我知道我正在尝试使用 XML,可以使用 RCurl 包,但我不完全确定这样做的方法。

参考这个: Scraping html tables into R data frames using the XML package

library(XML)
theurl <- "http://en.wikipedia.org/wiki/Brazil_national_football_team"
tables <- readHTMLTable(theurl)
n.rows <- unlist(lapply(tables, function(t) dim(t)[1]))
the picked table is the longest one on the page

tables[[which.max(n.rows)]]

我仍然无法在网站上获得表格。如果有人可以帮助我,我真的很感激。谢谢!

4

1 回答 1

4

您遇到问题的原因是给定的表格不是 HTML 表格。您可以通过在浏览器中使用查看页面源来查看。下面是一些代码,可帮助您开始提取表中的数据并将其放入数据框中。

dat = readLines('http://www.rsssf.com/tablese/eng2014.html', warn = F)
start = grep('Table', dat)[1] + 2
end = grep('Round', dat)[1] - 2
dat2 <- dat[start:end]

dat3 = read.fwf(textConnection(dat2), widths = c(3, 24, 3, 3, 3, 3, 8, 3))
dat3[dat3$V1 != "---",]
于 2013-10-20T17:14:46.010 回答