从多个页面抓取HTML节点

时间:2019-10-18 14:18:41

标签: r web-scraping statistics

我正在尝试为潜在的统计项目抓取一些数据,但似乎无法获得每页的所有节点。相反,它仅在移动下一页之前抓取第一个。

library(rvest)

pages <- pages <- c("https://merrimackathletics.com/sports/" %>%
          paste0(c("baseball", "mens-basketball", "mens-cross-country") %>%
          paste0("/roster")))

Major <- lapply(pages,
         function(url){
           url %>% read_html(url) %>%
           html_node(".sidearm-roster-player-major") %>%
           html_text()
})

随后,以上内容仅返回:

> Major
[[1]]
[1] "Business Adminstration"

[[2]]
[1] "Communications"

[[3]]
[1] "Global Management"

我应该如何索引节点,以使我获得的不仅仅是每页的第一个“主要”索引?谢谢!

1 个答案:

答案 0 :(得分:1)

函数html_node仅提取第一个元素。 html_nodes会做您想要的。

从文档中:

  

html_node就像[[一样,它总是只提取一个元素。给定节点列表时,html_node将始终返回相同长度的列表,html_nodes的长度可能更长或更短。