Iterazioni sicure
Come nel capitolo precedente, immaginiamo che tu sia un/una data analyst che lavora per una web agency. Questa volta ti è stato chiesto di fare del web scraping.
(Nota: non preoccuparti se non sai fare web scraping, partiremo dal semplice e tutte le funzioni saranno spiegate).
Hai ricevuto un elenco di URL, ma sospetti che alcuni non siano indirizzi validi. La prima cosa che farai è verificare se riesci a connetterti a questi URL. Per questo useremo una funzione semplice del pacchetto readr: read_lines(), che inseriremo dentro safely(). Quando riceve un URL, read_lines() legge l'HTML o restituisce un errore se l'URL non è raggiungibile.
Il vettore urls è disponibile nel tuo workspace. Stampalo in console se vuoi vedere cosa contiene.
Questo esercizio fa parte del corso
Programmazione funzionale intermedia con purrr
Istruzioni dell'esercizio
Crea una versione sicura della funzione
read_lines().Applica questa nuova funzione al vettore fornito chiamato
urls.Imposta i nomi dei risultati con la funzione
set_names().Estrai l'elemento
"error"di ogni sottolista.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create a safe version of read_lines()
safe_read <- ___(___)
# Map it on the urls vector
res <- ___(urls, ___)
# Set the name of the results to `urls`
named_res <- ___(res, ___)
# Extract only the "error" part of each sublist
___(named_res, ___)