Introdução à API do Twitter | Melhor para iniciantes

Tempo de leitura: 7 minutes

Introdução

Facebook, Instagram e Twitter são considerados as principais plataformas de mídia social. De acordo com a BusinessofApps, o Facebook, o Instagram e o Twitter têm 2700, 1160 e 330 milhões de usuários ativos estimados por mês, respectivamente. Ao olhar para esses números, podemos dizer que a mídia social se tornou uma das maiores fontes de dados. Embora o Facebook e o Instagram tenham usuários mais ativos, o Twitter continua sendo a plataforma mais popular para pesquisadores e desenvolvedores acadêmicos. O principal motivo para isso pode ser a disponibilidade e as percepções dos dados fornecidos pelo Twitter.

A partir de 2018, de acordo com Oberlo, 500 milhões de tweets são enviados a cada dia. Isso equivale a 5.787 tweets por segundo. No início, o Twitter era usado apenas como uma plataforma textual, mas com popularidade crescente, também está sendo usado para compartilhar fotos e vídeos. Além de compartilhar seus pensamentos e ideias, muitas pessoas usam o Twitter como um tutorial e uma plataforma de comunidade.

Conta de desenvolvedor do Twitter

Antes de usar a API do Twitter, precisamos configurar uma conta de desenvolvedor e criar um projeto para obter as chaves da API. Se você não tem uma conta no Twitter, você precisa criar uma e, em seguida, ir para o Twitter Developers Dashboard e entrar. Você verá o painel conforme mostrado na imagem abaixo.

Clique no botão Criar Projeto que o levará para a tela conforme abaixo. Deu nome ao seu projeto. Você pode dar qualquer nome, mas deve ser exclusivo. Dei MyBlogProject como um nome.

Depois disso, selecione o motivo deste projeto e anote algumas descrições sobre o projeto. (Eu acho que não é necessário, mas eles estão perguntando isso de qualquer maneira.)

No final, basta informar o nome do aplicativo. Novamente, não importa, mas deve ser único. E depois de pressionar Concluir, você obterá suas chaves de API, conforme mostrado na imagem.

Você pode copiar essas chaves agora, mas também poderá obtê-las depois. Não compartilhe suas chaves com ninguém. Agora, se você clicar em Projetos e aplicativos e, em seguida, visão geral no painel do lado esquerdo. Você verá todos os seus projetos e aplicativos independentes. Você pode usar ambos ou qualquer um dos aplicativos de projeto ou independentes. Para este tutorial, usaremos o App que criamos dentro do Project. Você pode ver que tenho aplicativos dentro do projeto e um aplicativo independente. Anteriormente, havia apenas um tipo de API do Twitter que era a V1.1, mas no momento em que eu estava escrevendo um blog, a nova V2 estava no estágio inicial de acesso. Portanto, para o projeto, tenho acesso a ambas as versões, enquanto para um aplicativo autônomo, tive acesso apenas à V1.1.

 

Exploração de V1.1

Cada terminal na API V1.1 começa com api.twitter.com/1.1/search/tweets.json. Podemos usar diferentes parâmetros de consulta de acordo com nossas necessidades. Neste tutorial, estamos usando a API padrão que impõe algumas restrições de uso. De acordo com a documentação oficial, existem muitos tipos de parâmetros de consulta disponíveis, que são:

  1. q
  2. geocódigo
  3. lang
  4. result_type
  5. count
  6. include_entities
  7. until
  8. sinse_id e max_id
  9. locale (apenas ja está em vigor no momento, portanto, evitaremos este).
  10. tweet_mode (isso não foi documentado nos documentos oficiais).

Dos parâmetros mencionados acima, apenas ‘q’ é o parâmetro de consulta obrigatório e todos os outros são parâmetros opcionais.

1. Parâmetro de consulta: “q”

O parâmetro de consulta q é usado para pesquisar termos, hashtags e usuários específicos. Como exemplo, podemos usar #python para obter todos os tweets que contêm #python ou podemos usar “desenvolvimento web” como uma única palavra para recuperar todos os tweets que contêm “desenvolvimento web”. Além disso, usando @elonmusk, podemos obter todos os tweets e retuítes do usuário Elon Musk.

Observação: a API padrão obterá apenas dados dos últimos 7 dias e, se você não usar a contagem, retornará apenas 15 dados.

  1. Exemplo de obtenção de tweets com hashtag: python
    https://api.twitter.com/1.1/search/tweets.json?q=%23python
  2. Exemplo de busca de tweets que contenham: “desenvolvimento web”
    https://api.twitter.com/1.1/search/tweets.json?q="desenvolvimento web"
  3. Exemplo de obtenção de tweets com nome de usuário: elonmusk
    https://api.twitter.com/1.1/search/tweets.json?q=@elonmusk

Aqui, no primeiro exemplo, como você pode ver, usamos %23 em vez do símbolo #. Precisamos usar essa representação, pois não podemos usar alguns símbolos diretamente em nosso URI. Por padrão, a API do Twitter fornece dados de tweet truncados. Portanto, para obter os tweets completos, temos que passar o parâmetro de consulta tweet_mode=extended.

 

2. Parâmetro de consulta: “geocódigo”

Depois de decidir o que pesquisar e qual hashtag, palavras-chave ou usuário pesquisar, podemos pesquisar tweets para geolocalização específica usando o parâmetro geocode. Este parâmetro de consulta é opcional_, portanto, pode-se usá-lo de acordo com as necessidades.

Agora, se eu quiser pesquisar a palavra-chave python em torno de Bangalore, preciso passar latitude, longitude e raio. Portanto, passarei o parâmetro de consulta como geocode=12.97194,77.59369,1mi. Aqui, 12,97194,77,59369 e 1 mi são latitude, longitude e raio, respectivamente. Onde 1 mi significa 1 milha. Também podemos usar km (quilômetros).

Para obter tweets que têm a palavra-chave python e que estão dentro de um raio de um quilômetro de Bangalore, pode-se usar o seguinte URI:
https://api.twitter.com/1.1/search/tweets.json?q=python&geocode=12.97194,77.59369,1mi

 

3. Parâmetro de consulta: “lang”

Podemos obter tweets com linguagem específica. Como exemplo, podemos obter tweets que têm a palavra-chave Brasil e o idioma é portugues. Para buscar esse tipo de dados, podemos usar o parâmetro de consulta lang conforme mostrado abaixo.
https://api.twitter.com/1.1/search/tweets.json?q=Brasil&lang=br

Pode-se usar a seguinte página da Wikipedia para obter uma lista de todos os idiomas e seus respectivos códigos.

 

4. Parâmetro de consulta: “result_type”

Há situações em que queremos os tweets mais recentes e, às vezes, em situações em que queremos os tweets mais populares. Nesse tipo de situação, podemos usar o parâmetro de consulta result_type. Este parâmetro de consulta é opcional como geocódigo.

Podemos usar mixed, recent ou popular como reasult_type, onde mixed é o valor padrão.

 

5. Parâmetro de consulta: “count”

O parâmetro de contagem é usado quando queremos um número específico de tweets. Por padrão, obteremos 15 tweets, mas em uma única solicitação podemos obter no máximo 100 tweets.

 

6. Parâmetro de consulta: “include_entities”

É possível obter alguns dados extras passando o parâmetro de consulta include_entities como verdadeiro.

O uso do URI mostrado abaixo fornece dados de campo de entidades extras.
https://api.twitter.com/1.1/search/tweets.json?q=%22web%20development%22&include_entities=true&count=1

Dados de entidades:

"entities": {
        "hashtags": [
          {
            "text": "FREECOURSE",
            "indices": [
              0,
              11
            ]
          },
          {
            "text": "FREE",
            "indices": [
              88,
              93
            ]
          },
          {
            "text": "online",
            "indices": [
              94,
              101
            ]
          },
          {
            "text": "udemy",
            "indices": [
              102,
              108
            ]
          }
        ],
        "symbols": [],
        "user_mentions": [],
        "urls": [
          {
            "url": "https://t.co/YcPoOiGnNu",
            "expanded_url": "https://www.udemy.com/course/bootstrap-3-responsive-design-tutorial-fundamentals/?couponCode=DISCOVERYVIP",
            "display_url": "udemy.com/course/bootstr…",
            "indices": [
              64,
              87
            ]
          },
          {
            "url": "https://t.co/icOzd6jBUe",
            "expanded_url": "https://twitter.com/i/web/status/1376231256258719747",
            "display_url": "twitter.com/i/web/status/1…",
            "indices": [
              110,
              133
            ]
          }
        ]
      }

Uma coisa a notar aqui é que usei %22 em vez de aspas duplas (“) e %20 em vez de espaço em branco.

 

7. Parâmetro de consulta: “until”

Para obter todos os tweets criados antes de uma data específica, podemos usar o parâmetro de consulta até. A data deve ser formatada como AAAA-MM-DD. Lembre-se de que o índice de pesquisa tem um limite de 7 dias (para API padrão). Em outras palavras, nenhum tweet será encontrado para uma data anterior a uma semana.

Quando estava escrevendo este blog, era 2021-03-28, portanto, posso solicitar os dados até 2021-03-22. Se eu solicitar a data 2021-03-21, ele me dará um array vazio. Pode-se usar o seguinte formato para usar o parâmetro até:
https://api.twitter.com/1.1/search/tweets.json?q=python&until=2021-03-22

 

8. Parâmetro de consulta: “since_id” e “max_id”

Na verdade, na documentação, não consegui encontrar como podemos obter/gerar since_id e max_Id.

De acordo com a documentação, se usarmos _sinceid, ele retornará resultados com um ID maior que (ou seja, mais recente que) o ID especificado. Por outro lado, _maxid retornará resultados com um ID menor que (ou seja, mais antigo que) ou igual ao ID especificado.

Sintaxe Booleana
Podemos usar operadores booleanos e mecanismos de agrupamento para obter tweets mais específicos. Podemos usar operadores lógicos And, OR e NOT(-). Podemos usar _round parênteses para agrupar várias palavras-chave e filtros.

Se quisermos pesquisar tweets que contenham python e desenvolvedores, podemos escrever q=python%20developer. Isso pesquisará tweets com as palavras-chave python e developer. Aqui, observe que python e o desenvolvedor não precisam estar juntos.

Se quisermos eles juntos, podemos escrever q=%22python%20developer%22 ou q=”python developer”. Se quisermos tweets com python ou desenvolvedor, podemos escrever q=(python OR desenvolvedor).

Se quisermos ignorar os tweets com algumas palavras-chave, podemos fazer isso usando o hífen(-). Portanto, para obter tweets com a palavra-chave python ou Django e ignorar desenvolvedor, podemos escrever uma consulta como q=(python OR Django) -developer.

Nota: Podemos usar múltiplos OR e negação em nossa consulta. Para usar várias negações em vez de usar -(iPhone OR iMac OR MacBook), use o seguinte: -iPhone -iMac -MacBook.

Pode haver alguma incerteza ao usar várias operações. Exemplo:

  • apple OR iPhone iPad seria avaliado como apple OR (iPhone iPad)
  • iPad iPhone OR android seria avaliado como (iPhone iPad) OR android

Para eliminar a incerteza e garantir que suas regras sejam avaliadas conforme pretendido, agrupe os termos entre parênteses quando apropriado. Por exemplo:

  • (apple OR iPhone) iPad
  • iPhone (iPad OR android)

Mais Filtros

De acordo com outros recursos online e documentação oficial, podemos filtrar os dados por respostas, retweets e com base na conta verificada ou não também.

Existem muitos outros filtros, mas não é uma boa ideia mencioná-los todos aqui. Você pode encontrar todos os outros filtros na documentação oficial.

Nota: aqui escreva o nome de usuário sem @

Um último exemplo: vamos supor que queremos obter os 50 tweets recentes com as palavras-chave “desenvolvedor python” E Django e ignorando o flask. Queremos apenas tweets e respostas (em outras palavras, não queremos retuítes). Precisamos de tweets completos em inglês (en) na área de Bangalore e não queremos entidades extras.

Solução:

https://api.twitter.com/1.1/search/tweets.json?q=("python developer" AND  django) -flask AND exclude:retweets&tweet_mode=extended&lang=en&count=50&geocode=12.97194,77.59369,10mi

 

Conclusão

Tentei explicar todos os métodos e filtros que podemos usar para buscar tweets usando a API do Twitter. Escrevi este blog para apresentar a todos os desenvolvedores a API padrão do Twitter, pode haver muitos outros parâmetros de consulta e filtros que não são mencionados aqui.

 

Referências