Mineração de dados do Twitter: um guia para análise de Big Data usando Python
Publicados: 2022-03-11Big data está em toda parte. Período. No processo de administrar um negócio de sucesso nos dias de hoje, você provavelmente vai se deparar com ele, goste ou não.
Seja você um empresário tentando acompanhar os tempos ou um prodígio de codificação procurando seu próximo projeto, este tutorial fornecerá uma breve visão geral do que é big data. Você aprenderá como isso se aplica a você e como você pode começar rapidamente por meio da API do Twitter e do Python.
O que é Big Data?
Big data é exatamente o que parece – muitos dados. Sozinho, um único ponto de dados não pode fornecer muitas informações. Mas terabytes de dados, combinados com modelos matemáticos complexos e poder computacional barulhento, podem criar insights que os seres humanos não são capazes de produzir. O valor que o Big Data Analytics fornece a um negócio é intangível e supera as capacidades humanas todos os dias.
O primeiro passo para a análise de big data é coletar os dados em si. Isso é conhecido como “mineração de dados”. Os dados podem vir de qualquer lugar. A maioria das empresas lida com gigabytes de dados de usuários, produtos e localização. Neste tutorial, exploraremos como podemos usar técnicas de mineração de dados para coletar dados do Twitter, que podem ser mais úteis do que você imagina.
Por exemplo, digamos que você administre o Facebook e queira usar os dados do Messenger para fornecer informações sobre como você pode anunciar melhor para seu público. O Messenger tem 1,2 bilhão de usuários ativos mensais. Nesse caso, os big data são conversas entre usuários. Se você ler individualmente as conversas de cada usuário, poderá ter uma boa noção do que eles gostam e recomendar produtos a eles de acordo. Usando uma técnica de aprendizado de máquina conhecida como Processamento de Linguagem Natural (NLP), você pode fazer isso em larga escala com todo o processo automatizado e deixado para as máquinas.
Este é apenas um dos inúmeros exemplos de como o aprendizado de máquina e a análise de big data podem agregar valor à sua empresa.
Por que dados do Twitter?
O Twitter é uma mina de ouro de dados. Ao contrário de outras plataformas sociais, os tweets de quase todos os usuários são completamente públicos e acessíveis. Esta é uma grande vantagem se você estiver tentando obter uma grande quantidade de dados para executar análises. Os dados do Twitter também são bastante específicos. A API do Twitter permite que você faça consultas complexas, como extrair todos os tweets sobre um determinado tópico nos últimos vinte minutos ou extrair os tweets não retweetados de um determinado usuário.
Uma simples aplicação disso poderia ser analisar como sua empresa é recebida pelo público em geral. Você pode coletar os últimos 2.000 tweets que mencionam sua empresa (ou qualquer termo que desejar) e executar um algoritmo de análise de sentimentos sobre ele.
Também podemos segmentar usuários que vivem especificamente em um determinado local, conhecido como dados espaciais. Outra aplicação disso poderia ser mapear as áreas do globo onde sua empresa foi mais mencionada.
Como você pode ver, os dados do Twitter podem ser uma grande porta para os insights do público em geral e como eles recebem um tópico. Isso, combinado com a abertura e a generosa limitação de taxa da API do Twitter, pode produzir resultados poderosos.
Visão geral das ferramentas
Usaremos o Python 2.7 para esses exemplos. Idealmente, você deve ter um IDE para escrever este código. Estarei usando o PyCharm - Community Edition.
Para se conectar à API do Twitter, usaremos uma biblioteca Python chamada Tweepy, que instalaremos daqui a pouco.
Começando
Conta de desenvolvedor do Twitter
Para usar a API do Twitter, precisamos criar uma conta de desenvolvedor no site de aplicativos do Twitter.
- Faça login ou crie uma conta no Twitter em https://apps.twitter.com/.
- Criar um novo aplicativo (botão no canto superior direito)
- Preencha a página de criação do aplicativo com um nome exclusivo , um nome de site (use um site de espaço reservado se você não tiver um) e uma descrição do projeto. Aceite os termos e condições e prossiga para a próxima página.
- Uma vez que seu projeto foi criado, clique na aba “Chaves e Tokens de Acesso”. Agora você deve conseguir ver o segredo do consumidor e a chave do consumidor.
- Você também precisará de um par de tokens de acesso. Role para baixo e solicite esses tokens. A página deve ser atualizada e agora você deve ter um token de acesso e um segredo do token de acesso.
Precisaremos de tudo isso mais tarde, portanto, mantenha essa guia aberta.
Instalando o Tweepy
Tweepy é uma ferramenta com excelente suporte para acessar a API do Twitter. Ele suporta Python 2.6, 2.7, 3.3, 3.4, 3.5 e 3.6. Existem algumas maneiras diferentes de instalar o Tweepy. A maneira mais fácil é usar pip
.
Usando Pip
Basta digitar pip install tweepy
no seu terminal.
Usando o GitHub
Você pode seguir as instruções no repositório GitHub do Tweepy. Os passos básicos são os seguintes:
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
Você também pode solucionar quaisquer problemas de instalação.
Autenticação
Agora que temos as ferramentas necessárias prontas, podemos começar a codificar! A linha de base de cada aplicativo que construiremos hoje requer o uso do Tweepy para criar um objeto de API com o qual podemos chamar funções. Para criar o objeto de API, no entanto, devemos primeiro nos autenticar com nossas informações de desenvolvedor.
Primeiro, vamos importar o Tweepy e adicionar nossas próprias informações de autenticação.
import tweepy consumer_key = "wXXXXXXXXXXXXXXXXXXXXXXX1" consumer_secret = "qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh" access_token = "9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi" access_token_secret = "kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT"
Agora é hora de criar nosso objeto de API.
# Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)
Essa será a base de todos os aplicativos que construímos, portanto, certifique-se de não excluí-la.
Exemplo 1: sua linha do tempo
Neste exemplo, vamos extrair os dez tweets mais recentes do seu feed do Twitter. Faremos isso usando a função home_timeline()
do objeto API. Podemos então armazenar o resultado em uma variável e fazer um loop por ela para imprimir os resultados.
# Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text
O resultado deve se parecer com um monte de tweets aleatórios, seguidos pelo URL do próprio tweet.

Seguir o link para o tweet geralmente o levará ao próprio tweet. Seguir o link do primeiro tweet nos daria o seguinte resultado:
Observe que, se você estiver executando isso por meio do terminal e não de um IDE como o PyCharm, poderá ter alguns problemas de formatação ao tentar imprimir o texto do tweet.
O JSON por trás dos resultados
No exemplo acima, imprimimos o texto de cada tweet usando tweet.text
. Para fazer referência a atributos específicos de cada objeto de tweet, temos que observar o JSON retornado pela API do Twitter.
O resultado que você recebe da API do Twitter está no formato JSON e tem uma grande quantidade de informações anexadas. Para simplificar, este tutorial se concentra principalmente no atributo “texto” de cada tweet e nas informações sobre o tweeter (o usuário que criou o tweet). Para o exemplo acima, você pode ver todo o objeto JSON retornado aqui.
Aqui está uma rápida olhada em alguns atributos que um tweet tem a oferecer.
Se você quiser encontrar a data em que o tweet foi criado, você deve consultá-lo com print tweet.created_at
.
Você também pode ver que cada objeto de tweet vem com informações sobre o tweeter.
Para obter os atributos “name” e “location” do tweeter, você pode executar print tweet.user.screen_name
e print tweet.user.location
.
Observe que esses atributos podem ser extremamente úteis se seu aplicativo depender de dados espaciais.
Exemplo 2: Tweets de um usuário específico
Neste exemplo, vamos simplesmente extrair os últimos vinte tweets de um usuário de nossa escolha.
Primeiro, examinaremos a documentação do Tweepy para ver se existe uma função como essa. Com um pouco de pesquisa, descobrimos que a função user_timeline()
é o que estamos procurando.
Podemos ver que a função user_timeline()
tem alguns parâmetros úteis que podemos usar, especificamente id
(o ID do usuário) e count
(a quantidade de tweets que queremos extrair). Observe que só podemos extrair um número limitado de tweets por consulta devido aos limites de taxa do Twitter.
Vamos tentar puxar os últimos vinte tweets da conta do twitter @NyTimes.
Podemos criar variáveis para armazenar a quantidade de tweets que queremos extrair (contagem) e o usuário do qual queremos extraí-los (nome). Podemos então chamar a função user_timeline com esses dois parâmetros. Abaixo está o código atualizado (observe que você deve ter mantido a autenticação e a criação do objeto API na parte superior do seu código).
# Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = "nytimes" # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text
Nossos resultados devem ficar assim:
As aplicações populares deste tipo de dados podem incluir:
- Executando análises em usuários específicos e como eles interagem com o mundo
- Encontrar influenciadores do Twitter e analisar as tendências e interações de seus seguidores
- Monitorando as mudanças nos seguidores de um usuário
Exemplo 3: encontrar tweets usando uma palavra-chave
Vamos fazer um último exemplo: obter os tweets mais recentes que contêm uma palavra-chave. Isso pode ser extremamente útil se você quiser monitorar tópicos especificamente mencionados no mundo do Twitter ou até mesmo ver como sua empresa está sendo mencionada. Digamos que queremos ver como o Twitter está mencionando Toptal.
Depois de examinar a documentação do Tweepy, a função search()
parece ser a melhor ferramenta para atingir nosso objetivo.
O parâmetro mais importante aqui é q
— o parâmetro de consulta, que é a palavra-chave que estamos procurando.
Também podemos definir o parâmetro de idioma para que não recebamos tweets de um idioma indesejado. Vamos retornar apenas tweets em inglês (“en”).
Agora podemos modificar nosso código para refletir as alterações que queremos fazer. Primeiro criamos variáveis para armazenar nossos parâmetros (consulta e idioma) e, em seguida, chamamos a função por meio do objeto API. Vamos também imprimir o nome da tela, do usuário que criou o tweet, em nosso loop.
# Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = "Toptal" # Language code (follows ISO 639-1 standards) language = "en" # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,"Tweeted:",tweet.text
Nossos resultados devem ficar assim:
Aqui estão algumas maneiras práticas de usar essas informações:
- Crie um gráfico espacial sobre onde sua empresa é mais mencionada no mundo
- Execute uma análise de sentimento nos tweets para ver se a opinião geral da sua empresa é positiva ou negativa
- Crie gráficos sociais dos usuários mais populares que twittam sobre sua empresa ou produto
Podemos abordar alguns desses tópicos em artigos futuros.
Conclusão
A API do Twitter é imensamente útil em aplicativos de mineração de dados e pode fornecer grandes insights sobre a opinião pública. Se a API do Twitter e a análise de big data são algo em que você tem mais interesse, recomendo que você leia mais sobre as diretrizes da API do Twitter, Tweepy e Limitação de taxa do Twitter.
Cobrimos apenas o básico de acessar e puxar. A API do Twitter pode ser aproveitada em problemas de big data muito complexos, envolvendo pessoas, tendências e gráficos sociais muito complicados para a mente humana entender sozinha.