Использование Post () из пакетов httr для отлова href в R - PullRequest
0 голосов
/ 30 мая 2018

в данный момент я пытаюсь поймать ссылки на различные события, перечисленные на определенной странице.Содержание этой страницы генерируется JavaScript и имеет две страницы.Сканирование и обработка первой страницы не представляют особой проблемы, но я не могу сканировать вторую страницу.Я уже пытался использовать метод post () из httr, но просканированные данные по-прежнему являются содержимым с первой страницы.Это мой код:

library(rvest)
library(tidyverse)
library(stringr)
library(httr)
library(dplyr)
res <- POST("http://www.pg-sanderau.de/aktuelles---termine/#page2",
     encode="form",
     user_agent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.50 Safari/537.36"),
     add_headers(`Referer`="http://www.pg-sanderau.de/aktuelles---termine/#page2"))
res_t <- content(res, as="text")
res_h <- paste0(unlist(strsplit(res_t, "\r\n"))[-1], sep="", collapse="\n")
res_h %>%
  read_html() %>%
  html_nodes(".itemtitle a")%>%
  html_attr("href") -> Links1
Links1 <- data.frame(Links1)

Итак, мои фреймы данных содержат десять ссылок с первой страницы "http://www.pg -sanderau.de / aktuelles --- termine / # page1 ", ноне последние четыре со второй страницы.Я использую неправильный пакет или мой подход неверен?

Очень бы помогла!Спасибо

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Хорошо, PhantomJS просто отлично работал для меня.

0 голосов
/ 30 мая 2018

Страница всегда загружается page1 и загружается page2 через javascript, если URL имеет #page2.Вы можете проверить вкладку сети, чтобы получить url, с которой страница получает информацию для page2

...