Kom igångKom igång gratis

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

Visa kurs

Ö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
___
Redigera och kör kod