Introdução à API do Twitter | Melhor para iniciantes
Conteudo
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:
- q
- geocódigo
- lang
- result_type
- count
- include_entities
- until
- sinse_id e max_id
- locale (apenas ja está em vigor no momento, portanto, evitaremos este).
- 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.
- Exemplo de obtenção de tweets com hashtag: python
https://api.twitter.com/1.1/search/tweets.json?q=%23python
- Exemplo de busca de tweets que contenham: “desenvolvimento web”
https://api.twitter.com/1.1/search/tweets.json?q="desenvolvimento web"
- 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