Begränsningarna med html_table() vid dåligt strukturerade tabeller
Ibland vill du bara välja text som är en direkt ättling till ett förälderelement. I följande exempeltabell är dock rolltiteln inlindad i en em-tagg. Men dess funktion, till exempel "Voice", finns också i samma td-element som em-delen, vilket inte är optimalt när man vill hämta data.
Här är ett utdrag från HTML-koden:
<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>
I den här övningen försöker du skrapa tabellen med en känd rvest-funktion. På så sätt får du syn på dess begränsningar.
Variabeln roles_html innehåller dokumentet med tabellen.
Den här övningen är en del av kursen
Webbskrapning i R
Övningsinstruktioner
- Försök att extrahera en dataram från tabellen med en funktion du lärde dig i det första kapitlet.
- Ta en titt på den resulterande dataramen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Extract the data frame from the table using a known function from rvest
roles <- roles_html %>%
html_element(xpath = "//___") %>%
___()
# Print the contents of the role data frame
___