ComeçarComece de graça

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

Ver curso

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
___
Editar e executar o código