CommencezCommencez gratuitement

Une version possibly() de read_lines()

Nous travaillons toujours avec la série d'URL qui vous a été fournie pour l'extraction. Nous testons plusieurs méthodes pour repérer les URL inaccessibles. Pourquoi faire? Parce que la première étape du Web scraping consiste à vérifier si vous pouvez accéder à l'URL ou non. C'est à cela que servira le code que nous écrivons.

Dans l'exercice précédent, nous avons encapsulé la fonction read_lines() dans safely(). Dans cet exercice, nous allons utiliser la fonction possibly().

En terminologie Web, un 404 indique qu'une page Web n'est pas disponible. Ce nombre sera utilisé comme argument otherwise.

De plus, comme read_lines() renvoie un vecteur de longueur n lors de la lecture d'une page Web, nous allons le réduire en une seule chaîne en utilisant la fonction paste().

Le vecteur urls vous est fourni.

Cette activité fait partie du cours

Programmation fonctionnelle intermédiaire avec purrr

Voir le cours

Instructions de l’exercice

  • Encapsulez la fonction read_lines() dans un appel à possibly() qui renverra 404 via otherwise.

  • Appliquez cette nouvelle fonction à la liste d'URL avec map, puis enchaînez directement vers set_names().

  • Transformez chaque élément de cette liste en une chaîne de longueur 1 au moyen de la fonction paste(), avec l'argument collapse réglé à " ".

  • Conservez uniquement les éléments égaux à 404.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create a possibly() version of read_lines()
possible_read <- ___(___, otherwise = ___)

# Map this function on urls, pipe it into set_names()
res <- map(urls, ___) %>% ___(urls)

# Paste each element of the list 
res_pasted <- ___(res, ___, collapse = ___)

# Keep only the elements which are equal to 404
___(res_pasted, ___)
Modifier et exécuter le code