Я использую этот код для извлечения данных из Trip Advisor.
install.packages("rvest")
library(rvest)
install.packages("xmlparsedata")
library(xmlparsedata)
install.packages("xml2")
library(xml2)
install.packages("XML")
library(XML)
url.1 <- "https://www.tripadvisor.ie/Restaurant_Review-g186605-d4046860-
Reviews-The_Stage_Door_Cafe-Dublin_County_Dublin.html"
reviews <- url.1 %>%
read_html() %>%
html_nodes("#REVIEWS .innerBubble")
id <- reviews %>%
html_node(".quote a") %>%
html_attr("id")
quote <- reviews %>%
html_node(".quote span") %>%
html_text()
rating <- reviews %>%
html_node(".rating .rating.bubble") %>%
html_attr("alt") %>%
gsub(" of 5 stars", "", .) %>%
as.integer()
date <- reviews %>%
html_node(".ratingDate .relativeDate") %>%
html_attr("title") %>%
strptime("%b %d, %Y") %>%
as.POSIXct()
review <- reviews %>%
html_node(".entry .partial_entry" ) %>%
html_text()
a.1 <- data.frame(id, quote, rating, date, review, stringsAsFactors = FALSE)
Проблема, с которой я здесь сталкиваюсь - это кнопка «Больше» в обзорах, я не могу щелкнуть ее с помощью пакета Rselenium, поскольку он заархивирован из R.
install.packages("seleniumPipes")
library(seleniumPipes)
install.packages("devtools")
library(devtools)
ra <- "https://cran.r-
project.org/src/contrib/Archive/rappdirs/rappdirs_0.3.tar.gz"
install.packages(ra, repos=NULL, type="source", dependencies = TRUE)
library(rappdirs)
sem <- "https://cran.r-
project.org/src/contrib/Archive/semver/semver_0.1.0.tar.gz"
install.packages(sem, repos=NULL, type="source", dependencies = TRUE)
library(semver)
bin <- "https://cran.r-
project.org/src/contrib/Archive/binman/binman_0.0.7.tar.gz"
install.packages(bin, repos=NULL, type="source", dependencies = TRUE)
library(binman)
sub <- "https://cran.r-project.org/src/contrib/subprocess_0.8.2.tar.gz"
install.packages(sub, repos=NULL, type="source")
library(subprocess)
wd <- "https://cran.r-
project.org/src/contrib/Archive/wdman/wdman_0.2.2.tar.gz"
install.packages(wd, repos=NULL, type="source", dependencies = TRUE)
library(wdman)
packageurl <- "https://cran.r-
project.org/src/contrib/Archive/RSelenium/RSelenium_1.6.2.tar.gz"
install.packages(packageurl, repos=NULL, type="source")
library(RSelenium)
Я попытался вручную все архивированные пакеты, но все тщетно, не смог запустить селен. Я также пытался установить селен с помощью докера, но не повезло.
remDr <- RSelenium::remoteDriver(remoteServerAddr = "192.168.43.66",
+ port = 4444L,
+ browserName = "phantomjs")
Успешно с этим, но когда я ввожу
remDr $ открытым ()
получить следующую ошибку.
1 «Подключение к удаленному серверу»
Ошибка в checkError (res):
Неопределенная ошибка в вызове httr. Вывод httr: не удалось подключиться к порту 1044.100.207 4444: сеть недоступна
Есть ли какой-нибудь другой способ, чтобы нажать кнопку «еще» с помощью пакета rvest? так как этот RSelenium отчасти устарел.
Это ссылка на скриншот для кнопки «еще»
![enter image description here](https://i.stack.imgur.com/yVnWq.png)