在 R 中使用 url-list 进行网页抓取

Web scraping using a url-list in R

我正试图从我收集的多个网站上抓取一些 URL。我将已经收集的网站保存在一个名为 meetings2017_2018 的数据框中。问题是 URLs 除了 URLs 的第一部分:https://amsterdam.raadsinformatie.nl 看起来彼此不太相似。 url 的第二部分保存在数据框中。以下是一些示例:

/vergadering/458873/raadscommissie%20Algemene%20Zaken /vergadering/458888/raadscommissie%20Wonen /vergadering/458866/raadscommissie%20Jeugd%20en%20Cultuur /vergadering/346691/raadscommissie%20Algemene%20Zaken

所以整个 URL 将是 https://amsterdam.raadsinformatie.nl/vergadering/458873/raadscommissie%20Algemene%20Zaken

我设法创建了一个非常简单的函数,可以从单个网站中提取 URLs(见下文)。

web_scrape <- function(meeting) {
      url <-  glue("https://amsterdam.raadsinformatie.nl{meeting}")
      read_html(url) %>%
      html_nodes("a") %>%
      html_attr("href")
      }

有了这个功能,我仍然需要从我想抓取的数据框中插入每个 URL。由于数据框中有超过 140 个,这可能需要一段时间。您可以猜到,我想使用数据框中的 url-list 一次抓取所有 url。有人知道我该怎么做吗?

您可以 map/iterate 覆盖 meetings2017_2018 数据框中保存的 URL:

假设您的 URL 保存在 meetings2017_2018 数据框的 url 列中,起点是:

# create a vector of the URLs
urls <- pull(meetings2017_2018, url)

# map over the URLs and execute whatever code you want for every URL
map(urls, function(url) {
    your_code
})