使用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抓取的主要内容,如果未能解决你的问题,请参考以下文章