Веб-парсинг с помощью 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. Почему это? Почему тот же метод работал на первой странице, но не на второй?


person Connor Carlson    schedule 09.07.2018    source источник


Ответы (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")

Это вернет таблицу с третьей страницы.

person m0nhawk    schedule 09.07.2018