CommencerCommencez gratuitement

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>
Voir le 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, ___)
Modifier et exécuter le code