【问题标题】:Click Button RSelenium Amazon Page Turn单击按钮 RSelenium 亚马逊翻页
【发布时间】:2018-09-09 05:39:55
【问题描述】:

我无法让 Rselenium 在我试图抓取的亚马逊评论部分翻页。下面是我的代码。我已经尝试了几乎所有可能的 CSS 和 xpath 组合。有什么想法吗?

       replicate(100,
          {
remDr$navigate("https://www.amazon.com/Eagles-Nest-Outfitters-DoubleNest-Portable/product-reviews/B00K30GXK8/ref=cm_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviewshttps://www.amazon.com/Eagles-Nest-Outfitters-DoubleNest-Portable/product-reviews/B00K30GXK8/ref=cm_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviews")
webElem <- remDr$findElement("css", "body")
webElem$sendKeysToElement(list(key = "end"))
morereviews <- remDr$findElement(using = 'css selector', ".a-last a")
morereviews$clickElement()
Sys.sleep(4)

reviews <- xml2::read_html(remDr$getPageSource()[[1]])%>%
  rvest::html_nodes(".review-text")%>%
  dplyr::data_frame(reviews = .)
})

【问题讨论】:

    标签: r web-scraping rselenium


    【解决方案1】:

    在这种情况下,您不需要使用RSelenium,而只需使用rvest。首先,您可以抓取其中一个页面的评论,直接阅读 html。其次,请注意,每次您在评论部分翻页时,url 也会发生变化(实际上,它表示您看到的页码)。因此,您可以使用循环来更改 url 并抓取所有评论:

    reviews <- lapply(1:100,
           function(i){
             url <- paste0("https://www.amazon.com/Eagles-Nest-Outfitters-DoubleNest-Portable/product-reviews/B00K30GXK8/ref=cm_cr_getr_d_paging_btm_next_",i,"?ie=UTF8&reviewerType=all_reviewshttps%3A%2F%2Fwww.amazon.com%2FEagles-Nest-Outfitters-DoubleNest-Portable%2Fproduct-reviews%2FB00K30GXK8%2Fref%3Dcm_cr_dp_d_show_all_btm%3Fie%3DUTF8&reviewerType=all_reviews&pageNumber=",i)
             xml2::read_html(url) %>%
               rvest::html_nodes(".review-text") %>%
               rvest::html_text() %>%
               dplyr::data_frame(reviews = .)
           })
    (reviews <- do.call("rbind", reviews))
    

    【讨论】:

    • 谢谢波尔!我有把事情复杂化的倾向。代码有效!如果您知道如何在 RSelenium 中单击以备将来使用,您会感到好奇吗?
    • 嘿堆栈。你有没有机会给我一个关于如何让 Rselenium 点击页面的提示?这个问题困扰着我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 2016-11-26
    • 2012-12-08
    • 1970-01-01
    • 2020-10-13
    • 2022-12-03
    • 1970-01-01
    相关资源
    最近更新 更多