【发布时间】:2021-02-15 22:24:49
【问题描述】:
我是网络抓取的新手,并试图掌握使用 rvest 从网页收集数据的方法。感兴趣的网页是https://www.cabq.gov/office-of-neighborhood-coordination/neighborhood-homeowner-coalition-websites,它提供了社区组织的列表以及指向组织网站的底层超链接。我正在尝试生成一个数据框,其中第一列是组织名称,第二列是超链接中的 URL。
我遵循了几个rvest 教程和 Stack Overflow 问题,试图解析出适当的节点以提取我感兴趣的信息,但无济于事。所需的输出将如下所示(... 只是在输出表目标的所需开头和结尾之间截断中间的输出):
| organization | URL |
| ---------------------------------------------- | ----------------------------------- |
| 7 Bar North Homeowners Association | https://www.7barnorthhoa.com/ |
| Academy Acres North Neighborhood Association | http://www.aanna.org/ |
....
| Willow Wood Neighborhood Association | http://www.hoamcoweb.com/willowwood |
| Winrock Villas Condominium Association | http://winrockvillas.hoaspace.com/ |
我的代码尝试如下。
library(xml2)
library(rvest)
library(tidyverse)
URL <- "https://www.cabq.gov/office-of-neighborhood-coordination/neighborhood-homeowner-coalition-websites"
pg <- read_html(URL)
html_nodes(pg, "external-link") %>%
map_df(function(x) {
data_frame(
postal = html_node(x, "span") %>% html_text(trim=TRUE),
city = html_nodes(x, "ul > li") %>% html_text(trim=TRUE)
)
})
#> # A tibble: 0 x 0
由reprex package (v0.3.0) 于 2021-02-15 创建
非常感谢任何和所有帮助。
【问题讨论】:
标签: r web-scraping rvest