Itérations sécurisées
Comme dans le chapitre précédent, supposons que vous êtes analyste de données dans une agence Web. Cette fois, on vous a demandé de faire un peu de collecte de données sur le Web (web scraping).
(À noter : ne vous inquiétez pas si vous ne savez pas faire du web scraping. Nous allons commencer simplement, et toutes les fonctions seront expliquées.)
Vous avez reçu une liste d'URL, mais vous soupçonnez que certaines ne sont pas de vraies adresses. La première chose à faire est de vérifier si vous pouvez vous y connecter. Pour cela, nous allons utiliser une fonction simple du paquet 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 environnement de travail. Affichez-le dans la console si vous voulez voir ce qu'il contient.
Cette activité fait partie du cours
Programmation fonctionnelle intermédiaire avec purrr
Instructions de l’exercice
Créez une version sécurisée de la fonction
read_lines().Appliquez cette nouvelle fonction au vecteur fourni appelé
urls.Attribuez les noms des 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, ___)