Las limitaciones de html_table() con tablas mal estructuradas
A veces, solo quieres seleccionar texto que sea descendiente directo de un elemento padre. En la siguiente tabla de ejemplo, sin embargo, el nombre del propio papel está envuelto en una etiqueta em. Pero su función, p. ej., "Voice", también está dentro del mismo elemento td que la parte em, lo cual no es ideal para consultar los datos.
Aquí tienes un fragmento del código HTML:
<table>
<tr>
<th>Actor</th>
<th>Papel</th>
</tr>
<tr>
<td class = "actor">Jayden Carpenter</td>
<td class = "role"><em>Mickey Mouse</em> (Voice)</td>
</tr>
...
</table>
En este ejercicio, intentarás extraer la tabla usando una función conocida de rvest. Al hacerlo, verás sus límites.
La variable roles_html contiene el documento con la tabla.
Este ejercicio forma parte del curso
Web Scraping con R
Instrucciones del ejercicio
- Intenta extraer un data frame de la tabla con una función que has aprendido en el primer capítulo.
- Echa un vistazo al data frame resultante.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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
___