使用R中的url-list进行Web抓取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用R中的url-list进行Web抓取相关的知识,希望对你有一定的参考价值。

我试图从我收集的多个网站上抓取一些网址。我将已经收集的网站保存在一个名为meetings2017_2018的数据框中。问题是除了URL的第一部分之外,URL看起来并不相似:https://amsterdam.raadsinformatie.nl。网址的第二部分保存在数据框中。这里有些例子:

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

所以整个网址都是https://amsterdam.raadsinformatie.nl/vergadering/458873/raadscommissie%20Algemene%20Zaken

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

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

使用此功能,我仍然需要插入我想要抓取的数据帧中的每个URL。由于数据帧中有140多个,这可能需要一段时间。您可以猜到,我想使用数据框中的url-list一次性删除所有网址。有人知道我怎么做吗?

答案

您可以在meetings2017_2018数据框中映射/迭代保存的URL:

假设您的网址保存在url数据框的meetings2017_2018列中,起点为:

# 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
})

以上是关于使用R中的url-list进行Web抓取的主要内容,如果未能解决你的问题,请参考以下文章

r Web 抓取:无法读取主表

如何使用 R 在 html 中的注释标签内抓取表格?

使用循环进行 Web 抓取并写入 csv

使用 React Native 进行 Web 抓取和注入 JavaScript 的最佳方法?

Python - 使用HTML标记进行Web抓取

python web抓取代码不会打开链接