Я новичок в веб-скрейпинге и пытаюсь разобраться с использованием rvest
для сбора данных с веб-страницы. Интересующая веб-страница: https://www.cabq.gov/office-of-neighborhood-coordinate/neighborhood-homeowner-coalition-websites, который содержит список общественных организаций с базовыми гиперссылками на их веб-сайты. Я пытаюсь создать фрейм данных, в котором первый столбец — это название организации, а второй столбец — это URL-адрес из гиперссылки.
Я следил за парой руководств rvest
и вопросами переполнения стека, чтобы попытаться разобрать соответствующие узлы для извлечения интересующей меня информации, но безрезультатно. Желаемый вывод будет выглядеть следующим образом (...
просто обрезает вывод посередине между желаемым началом и концом цели выходной таблицы):
| 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
Создано 15 февраля 2021 г. в пакете reprex (v0.3.0)
Любая помощь приветствуется.
external-link
, но другие относятся к таким вещам, какa data-val=
. 16.02.2021html_nodes()
16.02.2021//a
будет искать все теги<a>
, квадратные скобки[...]
используются для подмножества или фильтрации,@
используется для ссылки на атрибут внутри тега. Выражение xpath://a[@data-linktype='external' or @class='external-link']
будет выглядеть так: выберите все теги ‹a›, которые имеют атрибут data-linktype со значением «внешний» или атрибут class с значение «внешняя ссылка» 17.02.2021