Itérations sécurisées
Comme dans le chapitre précédent, imaginons que vous êtes data analyst dans une agence web. Cette fois, on vous a demandé de faire un peu de web scraping.
(Remarque : ne vous inquiétez pas si vous ne savez pas faire de web scraping, nous allons commencer simplement et toutes les fonctions seront expliquées.)
Vous avez reçu une liste d’URL, mais vous pensez que certaines ne correspondent pas à de vraies adresses. La première chose à faire est de tester si vous pouvez vous connecter à ces URL. Pour cela, nous allons utiliser une fonction simple du package readr : read_lines(), que nous placerons dans un safely(). Lorsqu’on lui fournit une URL, read_lines() lit le HTML, ou renvoie une erreur si l’URL n’est pas accessible.
Le vecteur urls est disponible dans votre espace de travail. Affichez-le dans la console si vous voulez voir ce qu’il contient.
Cet exercice fait partie du cours
<cours>Programmation fonctionnelle intermédiaire avec purrr</cours>Instructions de l’exercice
Créez une version sécurisée de la fonction
read_lines().Appliquez cette fonction nouvellement créée au vecteur fourni appelé
urls.Donnez des noms aux résultats avec la fonction
set_names().Extrayez l’élément
"error"de chaque sous-liste.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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, ___)