DEV Community

Brenda Souza
Brenda Souza

Posted on

Contagem de Tweets com Python

A API do Twitter é uma ferramenta (do próprio Twitter) que permite ao usuário ter acesso aos tweets produzidos em tempo real, esses tweets podem ser filtrados e analisados conforme o objetivo da pessoa que está utilizando a ferramenta. Neste artigo falaremos sobre contagem de tweets utilizando a API e a linguagem de programação Python.

Conta de Desenvolvedor

Mas antes de utilizar a API, é preciso checar se: 1. Você possui uma conta no Twitter; 2. Você possui perfil de desenvolvedor. Para ter esse perfil é necessário solicitar ao Twitter, solicite aqui caso não o tenha.

Após ter acesso ao seu perfil de desenvolvedor, um painel como este será apresentado:

Painel inicial do perfil de desenvolvedor.

Para utilizar a API é necessário criar um projeto e uma aplicação vinculada ao projeto. Após a criação do projeto, você terá suas chaves de autenticação. E uma tela como esta mostrará tais chaves:

Painel com chaves de autenticação de um projeto.

Agora, guarde suas chaves de autenticação e vamos utilizar a API!

Conexão com a API

Como dito no título deste artigo, utilizaremos Python. Caso não possua Python instalado em sua máquina, existem duas opções comuns para utilizá-lo: 1. Baixar o Python no site oficial e instalar na sua máquina; 2. Caso não queira instalar o Python, também é possível utilizá-lo via Google Colab, basta ter uma conta Google para isso.

Certas bibliotecas precisam ser importadas via Python, são elas:

 import requests # módulo que realiza requisições HTTP/HTTPS
 import json # módulo para manuseio de objetos json
 import datetime # módulo para manuseio de datas e horas
Enter fullscreen mode Exit fullscreen mode

Na ordem que foi mostrado: Requests é um módulo que fazer requisições HTTP/HTTPS; Json é um módulo para manuseio de objetos no formato JSON; Datetime é um módulo para manuseio de datas e horas.

Agora, precisamos utilizar a chave de autenticação chamada de Bearer Token:

 bearer_token = "XXXXXXXXXXXXXXXXXXXXXXXXXX"
Enter fullscreen mode Exit fullscreen mode

Para utilizá-la na requisição é necessário criar um cabeçalho com a chave. Neste exemplo, implementamos uma função que cria o cabeçalho:

 # gera o cabeçalho para a requisição com o bearer token
 def bearer_oauth(r):
    r.headers["Authorization"] = f"Bearer {bearer_token}"
    return r
Enter fullscreen mode Exit fullscreen mode

Em seguida definir palavras-chave e a query para a requisição. Vale ressaltar que para contagem de tweets, utilizamos o endpoint da API chamado de Tweet Counts, para saber mais sobre ele acesse este link.

O endpoint Tweet Counts é utilizado dado esta URL:

    url = "https://api.twitter.com/2/tweets/counts/recent"
Enter fullscreen mode Exit fullscreen mode

Agora, um exemplo de palavras chave e query (consulta) para requisição:

 # palavras-chave
 keywords = "vacina covid-19"
 # query 
 query_params = {
    'query': keywords
 }
Enter fullscreen mode Exit fullscreen mode

Finalmente, faremos a requisição à API, e para isso implementamos uma função que realiza a requisição e retorna a resposta em formato JSON:

 # conecta com o endpoint e retorna a reposta em formato JSON 
 def connect_to_endpoint(url, params):
      response = requests.get(url, auth=bearer_oauth, params=params)
      print("Status da requisição: ",response.status_code) 

      # caso ocorra algum erro, uma exceção é lançada
      if response.status_code != 200: 
        raise Exception(response.status_code, response.text)

      # retorna o resultado em formato JSON
      return response.json() 
Enter fullscreen mode Exit fullscreen mode

Agora, basta imprimir a resposta da requisição:

 result = connect_to_endpoint(url, query_params)
 print(json.dumps(result, indent=4, sort_keys=True))
Enter fullscreen mode Exit fullscreen mode

Com esses resultados temos a contagem de tweets por palavras-chave. Esses resultados podem ser analisados, até mesmo responder esta pergunta: quantos tweets foram produzidos, nas últimas 24 horas, sobre o Covid-19?

Conclusão

Espero que tenha gostado deste artigo, a API do Twitter permite ao usuário fazer muitas coisas interessantes como, por exemplo, análise dos dados presentes nos tweets acessados. Este artigo foi feito com base neste projeto que eu implementei para uma disciplina da faculdade.

É possível utilizar essa API por meio de diferentes tecnologias, Python foi apenas a tecnologia que achei mais confortável para isso.

Recomendo esse artigo, também relacionado a API do Twitter. Até a próxima!

Discussion (1)

Collapse
mmartiniano profile image
Lucas Miguel

Ótimo artigo. Tutorial muito bem explicado. Não vejo a hora de testar reproduzir os passos por mim mesmo. Obrigado!