Selecteer rechtstreeks vanuit een ouder-element met XPATH's text()
In deze oefening werk je opnieuw met dezelfde tabel. Deze keer haal je de functiebeschrijving tussen haakjes uit de tekst en zet je die in een eigen kolom. Je moet dus een data frame extraheren met niet twee, maar drie kolommen: actors, roles en functions.
Hiervoor gebruik je de specifieke XPATH-functie die in de video is geïntroduceerd in plaats van html_table(). Die laatste werkt in de praktijk vaak niet goed als het HTML-table-element niet netjes is gestructureerd, zoals hier het geval is.
Ter referentie volgt hier opnieuw een fragment van de HTML van de tabel:
<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>
In deze oefening bevat de variabele roles_html het HTML-document met het table-element.
Deze oefening maakt deel uit van de cursus
Webscraping in R
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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