使用rvest进行网络抓取仅适用于网站首页,而其他网站则不行

时间:2018-07-09 03:03:14

标签: r web-scraping rvest

这是我用来获取网站下一页链接的代码。

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')

然后,使用该链接,我尝试在此之后获取下一页。

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')

第二部分给我next_link2的“字符(空)”。为什么是这样?为什么相同的方法在第一页上起作用,但在第二页上不起作用?

1 个答案:

答案 0 :(得分:1)

该网站设置了一些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")

这将从第三页返回表格。