首页 > 解决方案 > R语言动态页面的可靠爬取方法

问题描述

我正在练习爬行作为一种爱好。虽然是从站点获取数据并正常运行,但有时找不到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正在使用中RSeleniumrvest正在使用中。

我的猜测:网页是动态页面,所以我在想通过 JavaScript 配置 Dom 的速度很慢。

爬行练习网站:https ://www.modes.com/us/shopping/

标签: rweb-crawlerrvestrselenium

解决方案


推荐阅读