Un autre extracteur
Dans l'exercice précédent, nous avons construit une fonction capable d'extraire le contenu texte des en-têtes H2.
Essayons autre chose ici : nous voulons extraire tous les liens présents sur une page donnée. Pour ce faire, nous devrons appeler deux fonctions de httr : html_nodes(), avec l'argument css défini à "a" (a est la balise HTML des liens), et html_attr(), qui extrait un attribut donné d'un nœud — dans notre cas, cet attribut sera "href", c'est-à-dire l'adresse du lien.
purrr et rvest ont été chargés pour vous. Le vecteur urls est toujours disponible dans votre espace de travail.
Cette activité fait partie du cours
Programmation fonctionnelle intermédiaire avec purrr
Instructions de l’exercice
Préremplissez
html_nodes()avec l'argumentcssdéfini à"a".Créez la fonction
href(), qui sera une version préremplie dehtml_attr().Composez une nouvelle combinaison de
href(),get_a()etread_html().Appliquez cette nouvelle fonction au vecteur
urls.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create a partial version of html_nodes(), with the css param set to "a"
get_a <- ___(html_nodes, ___)
# Create href(), a partial version of html_attr()
href <- ___(___, name = "href")
# Combine href(), get_a(), and read_html()
get_links <- ___(___, ___, ___)
# Map get_links() to the urls list
res <- ___(urls, ___) %>%
set_names(urls)
# See the result
res