点击"显示更多产品"滚动浏览网页链接;并获取产品信息

时间:2016-05-04 07:14:16

标签: r rvest rselenium

我能够刮到11次滚动,之后我们需要点击"显示更多产品"按钮。可以做些什么让我可以进一步滚动?以下是我目前的代码:

library(RSelenium)
require(RCurl)
require(XML)
require(dplyr)
require(stringr)
require(rvest)

shell.exec(paste0("C:/Users/Nitin Kansal/Desktop/R/batch.bat"))

#start RSelenium

checkForServer()
startServer()
remDr <- remoteDriver()
remDr$open()

# load your page

remDr$navigate("http://www.jabong.com/kids/clothing/girls-clothing/kids-tops-t-shirts/?source=topnav_kids")

# scroll down 11 times, allowing 3 second for the page to load everytime

for(i in 1:11){      
  remDr$executeScript(paste("scroll(0,",i*10000,");"))
  Sys.sleep(3)    
}

# get the page html

page_source <- remDr$getPageSource()

# get the URL's that you are looking for

pp <- xml2::read_html(page_source[[1]]) %>% 
  rvest::html_nodes("a") %>% 
  rvest::html_attr("data-original-href") %>% 
  {.[!is.na(.)]}

pp <- as.data.frame(pp)

1 个答案:

答案 0 :(得分:1)

滚动11次后,尝试将其包含在您的代码中

remDr$findElement(using = 'css selector', ".load-more-products")$clickElement()

这会产生另一个页面,然后刮掉相关细节。

循环整个过程。