O propósito desse repositório é disponibilizar uma série de scripts que automatizam tarefas relacionadas ao Twitter. Até o momento, tem-se scripts que:
- Realizam o bloqueio de contas que possuem comportamento de bot a partir de algum critério de busca, como suas mentions (block.py)
- Excluem tuítes antigos segundo uma data firmada pelo próprio usuário (delete.py).
- Fazem o download dos tuítes de um usuário (download.py)
- Buscam os tuítes segundo algum critério de busca (search_log.py)
Para usar o referido código, se faz necessário ter as chaves de desenvolvimento para a API do Twitter. Para isso, você precisa de:
-
Ter uma conta no Twitter ¯\(ツ)/¯
-
Acessar o site https://developer.twitter.com/en e aplicar para o desenvolvimento de um app. Para tal, você precisa estar logado na sua conta.
-
A seguir, você deve preencher alguns formulários explicando porque motivo você quer desenvolver aplicativos usando a API do Twitter. Eu notei que, de maneira geral, eles gostam de bastante informação. Ser bem detalhado no inglês e ser sincero sobre os usos me ajudou bastante. Da última vez que preenchi de qualquer jeito eles acabaram rejeitando. Se rejeitarem, você não pode mais solicitar usando a mesma conta. Nesse caso, você precisa criar uma nova conta.
-
Sendo bem sucedido ao criar sua aplicação, você deve entrar em 'details' de sua aplicação.
-
Ao selecionar 'Keys and tokens', você pode gerar as quatro chaves (API key, API secret, Access Token e Access Token Secret) que serão necessárias para o bom funcionamento dos scripts desse repositório.
-
Supondo que você deseja utilizar a aplicação que remove os tweets antigos (delete.py), ao abrir o terminal de comandos e acessar a pasta em que os códigos se encontram, você deve informar as chaves de desenvolvimento, enquanto os tokens são opcionais. Veja os exemplos abaixo:
Possibilidade 1: Informar tanto as chaves de desenvolvimento quanto os tokens.
python delete.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] -tk [CHAVE_TOKEN] -ts [CHAVE_SECRETA_TOKEN] --TWEETS
OBS: Obviamente você deve trocar os parâmetros pelas chaves geradas no passo 5 =)
Possibilidade 2: Informar apenas as chaves de desenvolvimento.
python delete.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] --TWEETS
Nesse caso, abre-se uma janela do navegador autorizando o uso da aplicação pela plataforma do Twitter.
Após autorizar, você deve anotar o código e informar na aplicação em execução.
Finalmente, agora você pode usar qualquer um dos utilitários desse repositório!
-
No terminal, acesse alguma pasta e digite o comando 'git clone https://github.com/lucaslattari/Twitter-Tools.git'
-
Na pasta do projeto, insira o comando 'pip install -r requirements.txt'
-
Faça bom uso =)
Esse script eu fiz baseado numa sugestão que o Atila Iamarino postou no Twitter. Ele perguntou se existia alguma ferramenta que varria as respostas de um tweet e bloqueava contas com perfil de bot. Basicamente esse script analisa as mentions de um usuário e sempre que uma conta bot fez esse reply (segundo os critérios do botometer), ela é sumariamente bloqueada. Seus parâmetros estão descritos no print abaixo.
Para usar esse programa, no mínimo, devem ser informadas as chaves da API do Twitter (consumer key e consumer secret) além da chave do Botometer da RAPID API. Quem verifica se as contas são bots ou não é o pacote botometer, e no site da Rapid API você obtém a chave deles. Outro parâmetro obrigatório é o username da conta de Twitter que se recuperarão as mentions.
Vamos supor que eu queira bloquear contas bots que mencionaram @oatila.
python block.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] [CHAVE_RAPID_API] oatila
Lembrando que você também pode informar os tokens, caso não queira se logar manualmente pelo site do Twitter.
python block.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] [CHAVE_RAPID_API] oatila -tk [CHAVE_TOKEN] -ts [CHAVE_SECRETA_TOKEN]
Outros parâmetros importantes são: o arquivo de log contendo um relatório dos bloqueios realizados (-f) e o limiar de bot (-b).
O arquivo de log é salvo em formato JSON.
O limiar de bot define qual o nível de tolerância que você terá ao fazer os bloqueios baseado no botometer. O botometer dá notas de 0 a 5 para os perfis, de forma que o mais próximo de 0 é um perfil controlado por humano e 5 é administrado por um algoritmo. Você pode definir sua nota. No exemplo abaixo define-se que uma pontuação acima de 2,5 já é suficiente pra bloquear uma conta.
python block.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] [CHAVE_RAPID_API] oatila -tk [CHAVE_TOKEN] -ts [CHAVE_SECRETA_TOKEN] -f block.json -b 2.5
Esse script é uma modificação em cima de outro criado em repositório antigo meu, cujo objetivo é deletar tweets antigos com maior facilidade. Seus parâmetros estão descritos no print abaixo:
Para usar esse programa, no mínimo, devem ser informadas as chaves da API do Twitter (consumer key e consumer secret) e se você deseja remover apenas tweets (--TWEETS), curtidas (--LIKES) ou ambos (--TWEETS_AND_LIKES).
Outro parâmetro opcional importante é: até quantos dias você deseja manter os tweets ou likes (-d). Se você, por exemplo, informar '-d 7', isso faz que os tweets (e/ou likes) mais antigos do que uma semana sejam excluídos da plataforma.
Por fim, além dos tokens já explicados acima, você também pode gravar um relatório em formato JSON com os tweets deletados por meio do parâmetro -f.
Veja o exemplo abaixo, em que tweets e curtidas de um ano atrás são removidos.
python delete.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] --TWEETS_AND_LIKES -tk [CHAVE_TOKEN] -ts [CHAVE_SECRETA_TOKEN] -f delete.json -d 365
Esse script tem como objetivo fazer downloads de seus tweets. Seus parâmetros estão descritos no print abaixo:
Para usar esse programa, no mínimo, devem ser informadas as chaves da API do Twitter (consumer key e consumer secret).
Outro parâmetro opcional importante é: qual o nome do arquivo de relatório em formato JSON com os tweets da sua timeline, por meio do parâmetro -f.
Veja o exemplo abaixo.
python download.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] -tk [CHAVE_TOKEN] -ts [CHAVE_SECRETA_TOKEN] -f tweets.json
Esse script tem como objetivo buscar os tweets de acordo com um determinado critério de busca e salvá-los em disco. Seus parâmetros estão descritos no print abaixo:
Para usar esse programa, no mínimo, devem ser informadas as chaves da API do Twitter (consumer key e consumer secret) e o termo a ser buscado.
Outro parâmetro opcional importante é: qual o nome do arquivo de relatório em formato JSON com os tweets retornados a partir da busca, por meio do parâmetro -f.
Veja o exemplo abaixo.
python search_log.py [CHAVE_CONSUMIDORA] [CHAVE_SECRETA] termo_buscado -tk [CHAVE_TOKEN] -ts [CHAVE_SECRETA_TOKEN] -f log.json
- Tweepy - Interface amigável pra usar a API do Twitter
- Botometer - Biblioteca útil para identificar bots do Twitter
Sinta-se a vontade para forkar, propor correções ou fazer modificações de código a fim de estender as funcionalidades desse repositório.
- Lucas Lattari - lucaslattari
- Minha esposa biaportes pela paciência de me ver programando por tanto tempo e não me trucidar.