Надежный метод обхода динамических страниц с помощью R

#r #web-crawler #rvest #rselenium

Вопрос:

Я занимаюсь ползанием как хобби. Хотя данные были получены с сайта и работали нормально, иногда html_nodes не найден, возвращая пустое значение.

Это мой код

 url <- "url"
remDr <- RSelenium::remoteDriver(myinformation, browserName = "chrome")
remDr$open()

class <- NULL

pagUrl <- paste0(url, "man/")

for (i in 1:length(pagUrl)){
  remDr$navigate(pagUrl[i])
  class <- (remDr$getPageSource()[[1]] %>% read_html() %>% html_nodes('#categories') %>% html_nodes('._3kOKu') %>% html_text())[4]
}
 
  1. remDr$getPageSource()[1] %>% read_html() Часть кода всегда имеет значение.
  2. После этого узел не может быть найден с %>% html_nodes ('#categories')
  3. Так бывает не всегда, но иногда такое случается.

Что вам нужно для надежного сканирования? RStudio используется RSelenium и rvest используется.

Мое предположение: Веб-страницы являются динамическими страницами, поэтому я подумал, что скорость настройки Dom с помощью JavaScript медленная.

Сайт для практики обхода: https://www.modes.com/us/shopping/

Комментарии:

1. Возможно, это не то, что вы хотите услышать, но я бы на самом деле рекомендовал — хотя я широко использую R — переключиться на Python для создания веб-страниц. На мой взгляд, он более стабилен и зрел, чем аналог R.