使用按钮进行网页抓取 "show more"

web scraping with a button "show more"

我需要从该网站提取文章,包括标题、日期和 URL。

https://en.news-front.info/category/ukraine-2/

我正在使用 rvest 包,但由于存在加载其他文章的“显示更多”按钮,我很难提取它们.我该怎么做呢?我需要 2021 年 3 月之前的文章。

谢谢

在收集数据之前尝试:

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

在此块之后(不确定是否需要,不幸的是您没有提供任何代码)

Sys.sleep(2)
YOUR HARVESTING CODE

这是使用“显示更多”按钮提取文章的正确解决方案

library(RSelenium)
rD1 <- rsDriver(browser = "chrome", port = 4567L, geckover = NULL, 
            chromever =  "99.0.4844.51", iedrver = NULL, 
            phantomver = NULL)
remDr1 <- rD1[["client"]] 
remDr1$navigate("https://en.news-front.info/category/ukraine-2/")

webElem <- remDr1$findElement(using = 'css selector', ".btn-load-more")
webElem$clickElement()

replicate(50,
      {
        # find button
        morereviews <- remDr1$findElement(using = 'css selector', ".btn-load-more")
        # click button
        morereviews$clickElement()
        # wait
        Sys.sleep(2)
      })

# Scrap the reviews
title <- xml2::read_html(remDr1$getPageSource()[[1]])%>%
rvest::html_nodes(".article-link__title") %>%
rvest::html_text() %>%
dplyr::data_frame(title = .)
title