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
Istruzioni dell'esercizio
Precompila
html_nodes()impostando l’argomentocssa"a".Crea la funzione
href(), che sarà una versione precompilata dihtml_attr().Componi una nuova combinazione di
href(),get_a()eread_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