rwhatsapp

Curso de coleta e tratamento de dados do WhatsApp

Programa de Curso Importação de Dados

Formato de Exportação Nativa de Chats do WhatsApp

O WhatsApp possui uma ferramenta nativa de exportação individual de chats. Os arquivos resultantes possuem o formato TXT e não são parseados, isto é, não possuem uma estrutura lógica de banco de dados. É possível ler esses arquivos em qualquer software de bloco de notas, mas, para trabalhar com os seus dados de forma quantitativa, é preciso, antes de mais nada, converter o formato de arquivo em um CSV (comma-separated values).

O primeiro exercício do curso é, portanto, o de exportar os dados e convertê-los em formato CSV.

Exportando Chats

ATENÇÃO!

Todos os dados pessoais foram omitidos neste tutorial.

Para exportar os chats, acesse o seu WhatsApp é siga o passo-a-passo:

  • Clique no botão com … no canto superior esquerdo do aplicativo para abrir o menu de opções.

  • Selecione a opção Mais e clique mais uma vez.

  • Em seguida, clique na opção Exportar conversa.

  • O WhatsApp perguntará sobre a opção de exportação. Para as finalidades deste curso, a opção Sem Mídia é suficiente.

  • Por fim, selecione o método de compartilhamento do arquivo, que pode ser por email, pelo Google Drive, ou pelo próprio WhatsApp.

Com o arquivo TXT em mãos, a próxima etapa é a leitura dos dados.

Observe que o arquivo possui o seguinte formato:

dd/mm/aaaa hh:mm - +ddi ddd telefone: Mensagem.

A seguir, um extrato (com dados pessoais omitidos) de um grupo real:

01/11/2020 12:34 - +55 21 99**-****: <Arquivo de mídia oculto>
01/11/2020 18:11 - +55 77 98**-****: Excelente vídeo.
02/11/2020 00:03 - +55 77 99**-****: Também recebi de um outro grupo.

Embora seja possível interpretar os chats exportados em TXT, o formato não-parseado dificulta a importação desses dados em softwares de planilhas e banco de dados. Isso ocorre porque a separação entre as colunas não utiliza o mesmo operador. Data e hora são separadas apenas por um espaço, data e telefone por um hífen, e telefone e mensagem de texto por um sinal gráfico de dois-pontos. Para tratar esses dados, é preciso separar as tabelas. O pacote rwhatsapp fará este trabalho. Espera-se que o resultado de saída dos dados seja semelhante a este abaixo:

#> # A tibble: 5 x 6
#>   time                author   text             source          emoji emoji_name
#>   <dttm>              <fct>    <chr>            <chr>           <lis> <list>    
#> 1 2020-08-01 12:00:00 <NA>     "Messages to th… /home/conversa… <NUL… <NULL>    
#> 2 2020-08-01 12:00:00 <NA>     "You created gr… /home/conversa… <NUL… <NULL>    
#> 3 2020-11-01 12:34:16 Youtuber "<Media omitted… /home/conversa… <NUL… <NULL>    
#> 4 2020-11-01 18:11:37 Tiozão…  "Excelente víde… /home/conversa… <chr… <chr [2]> 
#> 5 2020-11-02 00:03:59 Tiazona… "Também recebi … /home/conversa… <NUL… <NULL>