Для моего первого упражнения в webscraping в R, я пытаюсь выяснить, как искать продаваемые оперные билеты, чтобы в итоге найти лучшее предложение. Я хотел бы сделать две вещи:R Webscraping с динамическими таблицами
- Создать таблицу категорий и цен, чтобы иметь возможность искать лучшие цены в любой категории
- Сохранить ссылку на HTTP-адрес лучшей сделки (цена на одну категорию).
Проблема, с которой я столкнулся, состоит в том, что я могу видеть только 15 наблюдений, но таблица потенциально может быть намного больше.
library(rvest)
rmSpace <- function(x){
x<-gsub("\t","",x)
x<-gsub("\n","",x)
}
page <- url %>% html()
date <- page %>%
html_nodes(".date-tabdyn") %>%
html_text()
date <- date[-1]
date <-rmSpace(date)
category <- page %>%
html_nodes(".td_description .bold") %>%
html_text()
category<-rmSpace(category)
description <- page %>%
html_nodes(".td_description") %>%
html_text()
description <- description[-1]
description <- rmSpace(description)
price <- page %>%
html_nodes(".valeur_revente .montant-numeric") %>%
html_text()
price_normal <- page %>%
html_nodes(".valeur_faciale .montant-numeric") %>%
html_text()
links <- page %>% html_nodes(".button_eae9e5") %>% html_attr("onclick")
links <- substr(links,31,nchar(links)-2)
tab <- cbind(category, price, price_normal, date, description, links)
UPDATE: Я был в состоянии получить хороший стол с rvest, но я не понял, как решить предел 15 вида.
UPDATE 2: Кажется, есть запрос POST, который возвращает json-файл. Я предполагаю, что могу использовать это, чтобы помочь вернуть большую таблицу, но я теряюсь в том, как это сделать.
Спасибо. Из любопытства, Selenium единственный способ? Я начал читать о Selenium, но я еще не успел это сделать. – Drew75
@ Drew75 Могут быть другие способы, но, по моему опыту, Селен является самым простым. – Mark