【发布时间】:2017-12-29 22:49:44
【问题描述】:
我正在尝试使用 rvest 和 selectorgadget 从多个链接中用 r 抓取一些网球统计数据。我从 http://www.atpworldtour.com/en/scores/archive/stockholm/429/2017/results 抓取的页面有 29 个链接,如下所示:“http://www.atpworldtour.com/en/scores/2017/429/MS001/match-stats”。所有链接看起来都一样,但从 MS001-MS029 有所不同。使用下面的代码,我只使用前 9 个链接得到了想要的结果。我看到了问题,但不知道如何纠正它。前 9 个链接有双 00,其余的有单 0。第 10 个链接应该是 MS010。非常感谢任何帮助。
library(xml)
library(rvest)
library(stringr)
round <- 1:29
urls <- paste0("http://www.atpworldtour.com/en/scores/2017/429/MS00", round,
"/match-stats")
aces <- function(url) {
url %>%
read_html() %>%
html_nodes(".percent-on:nth-child(3) .match-stats-number-left span") %>%
html_text() %>%
as.numeric()
}
results <- sapply(urls, aces)
results
$`http://www.atpworldtour.com/en/scores/2017/429/MS001/match-stats`
[1] 9
$`http://www.atpworldtour.com/en/scores/2017/429/MS002/match-stats`
[1] 8
$`http://www.atpworldtour.com/en/scores/2017/429/MS003/match-stats`
[1] 5
$`http://www.atpworldtour.com/en/scores/2017/429/MS004/match-stats`
[1] 4
$`http://www.atpworldtour.com/en/scores/2017/429/MS005/match-stats`
[1] 8
$`http://www.atpworldtour.com/en/scores/2017/429/MS006/match-stats`
[1] 9
$`http://www.atpworldtour.com/en/scores/2017/429/MS007/match-stats`
[1] 2
$`http://www.atpworldtour.com/en/scores/2017/429/MS008/match-stats`
[1] 9
$`http://www.atpworldtour.com/en/scores/2017/429/MS009/match-stats`
[1] 5
$`http://www.atpworldtour.com/en/scores/2017/429/MS0010/match-stats`
numeric(0)
【问题讨论】:
标签: r web-scraping