CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Préremplissez html_nodes() avec l'argument css défini à "a".

  • Créez la fonction href(), qui sera une version préremplie de html_attr().

  • Composez une nouvelle combinaison de href(), get_a() et read_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
Modifier et exécuter le code