As limitações de html_table() com tabelas mal estruturadas
Às vezes, você quer selecionar apenas o texto que é descendente direto de um elemento pai. No exemplo de tabela a seguir, porém, o nome do papel em si está dentro de uma tag em. Mas a função desse papel, por exemplo "Voice", também está contida no mesmo elemento td que a parte em em, o que não é ideal para consultar os dados.
Aqui está um trecho do código 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>
Neste exercício, você vai tentar extrair a tabela usando uma função conhecida do rvest. Ao fazer isso, você vai perceber suas limitações.
A variável roles_html contém o documento com a tabela.
Este exercício faz parte do curso
Web Scraping em R
Instruções do exercício
- Tente extrair um data frame da tabela com uma função que você aprendeu no primeiro capítulo.
- Dê uma olhada no data frame resultante.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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
___