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
Instructions de l’exercice
Encapsulez la fonction
read_lines()dans un appel àpossibly()qui renverra 404 viaotherwise.Appliquez cette nouvelle fonction à la liste d'URL avec
map, puis enchaînez directement versset_names().Transformez chaque élément de cette liste en une chaîne de longueur 1 au moyen de la fonction
paste(), avec l'argumentcollapseré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, ___)