【发布时间】:2019-03-18 13:03:07
【问题描述】:
我正在尝试从我收集的多个网站中抓取一些 URL。我将已经收集的网站保存在一个名为 meetings2017_2018 的数据框中。问题在于,除了 URL 的第一部分:https://amsterdam.raadsinformatie.nl 之外,URL 看起来并不十分相似。 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
我设法创建了一个非常简单的函数,我可以从中提取单个网站的 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 一次抓取所有 url。有人知道我该怎么做吗?
【问题讨论】:
-
嗨!您可以映射/迭代您保存在
meetings2017_2018数据框中的所有 URL。你知道怎么做吗?或者你想得到一些指导吗? -
和...我是否理解正确:我使用您的函数
web_scrape收集了许多 URL。然后你想去每个这些 URL 并从中提取一些信息,对吗? -
是的,没错。我为函数正常工作后收集的 URL 编写了一个简单的过滤器代码,但我认为对于这个问题它不相关。我不确定如何映射/迭代。我尝试以这种方式使用地图功能
map(meetings2017_2018, web_scrape)
标签: r url screen-scraping