I limiti di html_table() con tabelle strutturate male
A volte vuoi selezionare solo il testo che è un discendente diretto di un elemento genitore. Nella tabella seguente, però, il nome del ruolo è racchiuso in un tag em. Ma la sua funzione, ad es. "Voice", è contenuta nello stesso elemento td insieme alla parte in em, il che non è l’ideale per interrogare i dati.
Ecco un estratto del codice HTML:
<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 questo esercizio proverai a fare scraping della tabella usando una funzione nota di rvest. Così facendo, ne riconoscerai i limiti.
La variabile roles_html contiene il documento con la tabella.
Questo esercizio fa parte del corso
Web scraping in R
Istruzioni dell'esercizio
- Prova a estrarre un data frame dalla tabella con una funzione che hai imparato nel primo capitolo.
- Dai un’occhiata al data frame risultante.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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
___