LoslegenKostenlos loslegen

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

Kurs anzeigen

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
___
Code bearbeiten und ausführen