web 在 R 中抓取进度条

web scrape a progress bar in R

我正在从以下网站抓取不同的项目 https://indiainvestmentgrid.gov.in/opportunities/nip-project/606803。此网页上有一个进度条,显示项目阶段(概念化中 - 已完成)。你对我如何抓取这个有什么建议吗?

我正在使用 RSelenium,提取页面源并按以下方式查看:

remDr$navigate('https://indiainvestmentgrid.gov.in/opportunities/nip-project/606803')
url <- read_html(remDr$getPageSource()[[1]])

project_title <- url %>% 
    html_nodes(".prj-name") %>%
    html_text()

但是,我不确定如何抓取这个进度条。 Selector Gadget 显示完成的 circles/bars 被标记为“.active-stage”,但我在我的 HTML 代码中找不到它。就此项目而言,应将其删除为“实施中”。

您似乎同时使用了 RSeleniumrvest。另外,请注意 html_nodes 已弃用。 条形图的颜色(我认为)由 projectStageID 定义。以下内容应该适用于大多数页面。

library(rvest)
library(magrittr

url <- "https://indiainvestmentgrid.gov.in/opportunities/nip-project/606801"

out <- read_html(url)

out %>%
  html_elements(css = "#projectStageId") %>%
  as.character  %>%
  substr(start = 49, stop = nchar(.)-2) %>%
  switch(
    "500020" = "Under Conceptualization",
    "600037" = "Under Development",
    "500021" = "Under Implementation",
    "500023" = "Completed",
    NA
  )