我试图从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)]]
我仍然无法在网站上获得该表格。真的很感激,如果有人可以帮助我这个。谢谢!
答案 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 != "---",]