Я пытаюсь найти результаты по ссылке на сайте (https://www.securities -administrators.ca / nrs / nrsIndvSearchResults.aspx? Mode = AS & type = I & indv = & firm = & juri = ON & ctgy = 1 & history = 0 )
Мне нужны имя и фамилия сотрудника для всех записей.Например, в приведенной выше ссылке 68176 записей.На странице 25 записей.
Цель состоит в том, чтобы собрать все страницы и получить детали в фрейме данных в R.
Я написал код, используя пакет rvest в R. Мой скрипт извлекает данные, НО это неработая на страницу 6 и далее.Я получаю правильные данные для страниц с 1 по 5.
Вот мой код:
base_url<-'https://www.securities-administrators.ca/nrs/nrsIndvSearchResults.aspx?mode=AS&type=I&indv=&firm=&juri=ON&ctgy=1&history=0'
pgsession <- html_session(base_url)
pgform <- html_form(pgsession)[[1]]
people <- data.frame()
#Javascript target identified from inspect element feature of browser
target <- 'ctl00$bodyContent$lbtnPager6'
page <- rvest:::request_POST(pgsession, base_url,
body=list(
`__VIEWSTATE` = pgform$fields$`__VIEWSTATE`$value,
`__EVENTTARGET` = target,
`__EVENTARGUMENT` = "",
`__VIEWSTATEGENERATOR` = pgform$fields$`__VIEWSTATEGENERATOR`$value,
`__VIEWSTATEENCRYPTED` = pgform$fields$`__VIEWSTATEENCRYPTED`$value,
`__EVENTVALIDATION` = pgform$fields$`__EVENTVALIDATION`$value
),
encode = "form")
x <- read_html(page) %>%
html_nodes(css = "#ctl00_bodyContent_gvIndividuals") %>%
html_table(fill = TRUE) %>%
as.data.frame()
x возвращает данные, которые отображаются на странице 1 в неправильной ссылке на веб-сайте.Я не могу понять, почему это не работает для страницы 6 и далее, НО работает для страницы 2-5.Заранее спасибо за помощь