IniziaInizia gratis

Un altro estrattore

Nel precedente esercizio abbiamo costruito una funzione in grado di estrarre il contenuto testuale dagli header H2.

Qui proviamo qualcos’altro: vogliamo estrarre tutti i link presenti in una pagina specifica. Per farlo, dovremo chiamare due funzioni di httr: html_nodes(), con l’argomento css impostato a "a" (a è il tag HTML dei link), e html_attr(), che estrae un dato attributo da un nodo — nel nostro caso, l’attributo sarà "href", ovvero l’indirizzo del link.

purrr e rvest sono già caricati per te. Nel tuo workspace trovi ancora il vettore urls.

Questo esercizio fa parte del corso

Programmazione funzionale intermedia con purrr

Visualizza il corso

Istruzioni dell'esercizio

  • Precompila html_nodes() impostando l’argomento css a "a".

  • Crea la funzione href(), che sarà una versione precompilata di html_attr().

  • Componi una nuova combinazione di href(), get_a() e read_html().

  • Applica questa nuova funzione al vettore urls.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
Modifica ed esegui il codice