CommencerCommencer gratuitement

Sélectionner directement depuis un élément parent avec la fonction XPATH text()

Dans cet exercice, vous allez travailler avec la même table. Cette fois, vous allez extraire les informations de fonction entre parenthèses dans leur propre colonne. Vous devez donc extraire un data frame avec non pas deux, mais trois colonnes : acteurs, rôles et fonctions.

Pour cela, vous devez utiliser la fonction XPATH spécifique présentée dans la vidéo plutôt que html_table(), qui ne fonctionne souvent pas en pratique lorsque l’élément HTML table n’est pas bien structuré, comme c’est le cas ici.

Pour référence, voici à nouveau un extrait du HTML de la table :

<table>
 <tr>
  <th>Actor</th>
  <th>Role</th>
 </tr>
 <tr>
  <td class = 'actor'>Jayden Carpenter</td>
  <td class = 'role'><em>Mickey Mouse</em> (Voice)</td>
 </tr>
 ...
</table>

Dans cet exercice, la variable roles_html contient le document HTML avec son élément table.

Cet exercice fait partie du cours

Web scraping en R

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Extract the actors in the cells having class "actor"
actors <- roles_html %>% 
  html_elements(xpath = '//table//td[@class = "actor"]') %>%
  html_text()
actors

# Extract the roles in the cells having class "role"
roles <- roles_html %>% 
  html_elements(xpath = '//table//td[@class = "___"]/___') %>% 
  ___()
roles
Modifier et exécuter le code