从网站提取足球比分

时间:2013-10-20 16:33:48

标签: xml r curl web

我试图从http://www.rsssf.com/tablese/eng2014.html中提取一些数据,例如联赛积分榜以及每轮的得分数据。

我知道我正在尝试使用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)]]

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

1 个答案:

答案 0 :(得分: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 != "---",]