Další extraktor
V předchozím cvičení jsme sestavili funkci, která dokázala extrahovat textový obsah z hlaviček H2.
Tentokrát zkusíme něco jiného: chceme extrahovat všechny odkazy, které se nacházejí na konkrétní stránce. K tomu budeme potřebovat dvě funkce z balíčku httr: html_nodes() s argumentem css nastaveným na "a" (a je HTML tag pro odkazy) a html_attr(), která extrahuje daný atribut z uzlu — v našem případě to bude atribut "href", tedy adresa odkazu.
Balíčky purrr a rvest jsou už načtené. Vektor urls najdeš ve svém pracovním prostředí.
Toto cvičení je součástí kurzu
Intermediate Functional Programming with purrr
Pokyny k cvičení
Předvyplň funkci
html_nodes()s argumentemcssnastaveným na"a".Vytvoř funkci
href()jako předvyplněnou verzi funkcehtml_attr().Pomocí
compose()sestav novou kombinaci funkcíhref(),get_a()aread_html().Aplikuj tuto novou funkci na vektor
urls.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Create a partial version of html_nodes(), with the css param set to "a"
get_a <- ___(html_nodes, ___)
# Create href(), a partial version of html_attr()
href <- ___(___, name = "href")
# Combine href(), get_a(), and read_html()
get_links <- ___(___, ___, ___)
# Map get_links() to the urls list
res <- ___(urls, ___) %>%
set_names(urls)
# See the result
res