Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Předvyplň funkci html_nodes() s argumentem css nastaveným na "a".

  • Vytvoř funkci href() jako předvyplněnou verzi funkce html_attr().

  • Pomocí compose() sestav novou kombinaci funkcí href(), get_a() a read_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
Upravit a spustit kód