Crie uma Nuvem de Palavras com Dados do Twitter e Python

Como analisar mais de 100k tweets com poucas linhas de código

Leon Bueno by Data Pack
Data Pack
5 min readSep 13, 2021

--

Não é surpresa pra ninguem que nós brasileiros amamos futebol e me incluo nesse pacote. Meu time favorito é o Athletico, um dos maiores clubes do mundo, pelo menos para mim haha

Como um bom torcedor, eu gosto de me manter informado sobre tudo que esta acontecendo nos bastidores e para fazer isso nada melhor que o Twitter, logicamente, em tempos de fake news, temos que filtrar as informações que postam por la e para consguir um bom resumo do que esta acontecendo muitas vezes temos que ficar um bom tempo com o celular em mãos, foi ai que resolvi pedir ajuda para a ciencia de dados, um pouquinho de NPL e o Python para me ajudar.

“Já pensou em analisar mais de 100k tweets e resumir tudo isso em uma nuvem de palavras? Vem comigo e eu te mostro como fazer isso!”

Gif from GIPHY

O que você vai presicar?

Calma! Você não vai precisar de nenhuma tecnologia da NASA para esse projeto, para ser sincero precisara apenas de um computador com conexão à internet, uma conta no Google e uma no Twitter, para esse segundo você terá que realizar um upgrade para a conta de desenvolvedor, nada complicado, você pode achar um tutorial de como realizar esse processo nesse link.

Após realizar esse processo acesse o Goggle Colab com sua conta Google e estamos prontos para começar!

Importando Pacotes e Trazendo os Dados

Primeira coisa a se fazer é importar os pacotes que vamos usar, então vamos abrir um novo notebook colab e colar os codigos abaixo:

Com esses pacotes carregados vamos configurar a API do Twtter usando aquelas credenciais que você conseguiu com acompanhando o artigo que mencionei acima:

Agora que você carregou suas credenciais vamos testar nosso ambiente ? Para isso digite os codigos abaixo:

Carregamos nossa API, vamos puxar nossos dados!

Deixe-me explicar uma coisa, dentro da variável chamada “query” a primeira palavra (no meu código é Athletico) você colocará a palavra-chave que deseja pesquisar. Depois da nossa palavra-chave coloquei um codigo para filtrar retuítes porque não quero duplicar tweets em minha consulta, é opcional.

Rode o código… espere… espere… hora da verdade!

Espero que tenha funcionado do por ai, se tudo correu bem você provavelmente ira ver cerca de 10 tweets baseado no assunto que você esta pesquisando. Estamos quase la!

Agora é hora que guardar esses dados em algum lugar cert? Para fazer isso vamos criar um dicionario e preencher ele com a estrutura JSON que o Tiwitter nos fornece, não se preocupe com as teminologias, é bem simples, siga o codigo:

Se você tentar ver o que esta dentro desse dicionario você encontrará algo assim:

Isso é incrivel e nessse carinha que vamos acomodar nossos dados, então, bora la trazer eles pra ca!

Então, basicamente temos que criar uma função que interaja com o cursor do Twitter que criamos e gravar os dados no nosso dicionario. Note que as primeiras 4 linhas são as mesmas no nosso quarto passo, voce pode mudar a paravra de busca e o numero de tweets que iremos capturar. Eu coloquei 100k pois achei um numero bonito haha.

Se você seguiu os passos exatamete como mostrei vai demorar um pouco para coletar todas essas informações, mas não se preocupe, seu computador não vai explodir!

Gif from GIPHY

Ufaa… depois de um tempão nos temos nossos tweets gravados naquele dicionario, vamos transformar isso tudo em um dataframe? É muito melhor de mexer assim.

Se você visualizar seu dataframe você vai ver algo como a imagem abaixo:

image from the Author

Essa é pra quem gosta de analise de dados heim! Se você é um desses você percebeu que o que você tem em mãos é melhor que ouro meus amigos! Você pode fazer muitas coisas com esse data frame.

Ok! Ok! Vou segurar a minha empolgação e voltar para a análise. Do data frame que criamos precisamos apenas do texto, com isso, o codigo abaixo vai extrair-lo, criar uma string gigante e contar quantas palavras nos armazenamos.

Agora estamos habeis a criar nossa nuvem de palavras. Bora pro codigo!!!

Antes de executá-lo, deixe-me explicar algumas partes do código:

1. As stopwords são necessárias para eliminar palavras como ‘o’, ‘para’, ‘com’ etc. Você também pode personalizá-lo com a cláusula stopwords.update;

2. A variável fura_color é onde você definirá o endereço da imagem, você deve alterá-lo. Eu escolhi uma imagem de furacão colorida com vermelho e preto porque furacão é o apelido do Atlético e vermelho e preto são nossas cores :)

3. A variável max_words é onde você seleciona o número máximo de palavras que aparecerão em sua visualização.

Depois de todas essas etapas, você obterá algo como esta bela nuvem de palavras:

image from the Author

Você pode replicar esse projeto para qualquer analise em que utilizar dados do Twitter seja util, desde eleições até mesmo descobrir o que estão falando em uma hashtag do seu programa favorito.

Gostou do artigo? Me siga no Instagram Data Pack

--

--