使用 rvest 进行网络抓取适用于网站的首页,但不适用于其他页面

Web-scraping with rvest works with first page of website, but not others

这是我用来将 link 转到网站下一页的代码。

url <- 'https://uws-community.symplicity.com/index.php?s=student_group'
webpage <- read_html(url)
next_link <- html_nodes(webpage,".paging_nav a") %>% html_attr('href')

然后,使用那个 link,我正在尝试获取之后的下一页。

url2 <- paste0("https://uws-community.symplicity.com/index.php", 
next_link)

webpage2 <- read_html(url2)
next_link2 <- html_nodes(webpage2,".paging_nav a") %>% html_attr('href')

第二部分 "Character (empty)" next_link2。为什么是这样?为什么同样的方法在第一页有效,但在第二页无效?

该站点设置了一些 cookie,您需要在下一次抓取时重新使用它们。

library(rvest)

url <- 'https://uws-community.symplicity.com/index.php?s=student_group'
page <- html_session(url)

page2 <- page %>% follow_link(css = ".paging_nav a:last-child")
page3 <- page2 %>% follow_link(css = ".paging_nav a:last-child")

page3 %>% html_nodes(".grpl-grp")

这将 return 第三页的 table。