Die Schwächen von html_table() bei schlecht strukturierten Tabellen
Manchmal möchtest du nur Text auswählen, der ein direkter Nachkomme eines Elternelements ist. In der folgenden Beispieltabelle ist jedoch der Rollenname selbst in ein em-Tag eingebettet. Die Funktion, z. B. „Voice“, steht aber ebenfalls im selben td-Element wie der em-Teil. Das ist für Abfragen der Daten nicht ideal.
Hier ist ein Auszug aus dem HTML-Code:
<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 dieser Übung versuchst du, die Tabelle mit einer bekannten rvest-Funktion zu scrapen. Dabei wirst du ihre Grenzen erkennen.
Die Variable roles_html enthält das Dokument mit der Tabelle.
Diese Übung ist Teil des Kurses
Web Scraping in R
Anleitung zur Übung
- Versuche, mit einer Funktion aus dem ersten Kapitel ein Data Frame aus der Tabelle zu extrahieren.
- Schau dir das resultierende Data Frame an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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
___