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
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