Sem autenticação. Sem API. Sem limites.
Twint é uma ferramenta avançada de raspagem do Twitter escrita em Python que permite extrair tweets de perfis do Twitter sem usar a API do Twitter.
Twint utiliza os operadores de pesquisa do Twitter para permitir que você extraia Tweets de usuários específicos, extraia Tweets relacionados a determinados tópicos, hashtags e tendências ou classifique informações confidenciais de Tweets, como e-mail e números de telefone. Acho isso muito útil e você também pode ser muito criativo.
Twint também faz consultas especiais ao Twitter, permitindo que você também raspe os seguidores de um usuário do Twitter, os tweets que um usuário gostou e quem ele segue sem qualquer autenticação, API, Selenium ou emulação de navegador.
Alguns dos benefícios de usar a API Twint vs Twitter:
Pode buscar quase todos os Tweets (a API do Twitter limita apenas 3.200 Tweets);
Configuração inicial rápida;
Pode ser usado anonimamente e sem cadastro no Twitter;
Sem limitações de taxas .
O Twitter limita as rolagens durante a navegação na linha do tempo do usuário. Isso significa que com .Profile
ou .Favorites
você poderá obter cerca de 3.200 tweets.
Pitão 3.6;
aiohttp;
aiodns;
sopa bonita4;
ccharde;
classes de dados
pesquisa elástica;
pysocks;
pandas (>=0,23,0);
aiohttp_socks;
agendar;
geopia;
agente de usuário falso;
py-googletransx.
Git:
clone git --profundidade=1 https://github.com/twintproject/twint.gitcd twint instalação do pip3. -r requisitos.txt
Pip:
pip3 instalar gêmeo
ou
pip3 instalar --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
Pipenv :
pipenv instalar git + https://github.com/twintproject/twint.git#egg=twint
Adicionado : Dockerfile
Notei que muitas pessoas estão tendo problemas para instalar (inclusive eu). Por favor, use o Dockerfile temporariamente enquanto eu os analiso.
Alguns exemplos simples para ajudá-lo a entender o básico:
twint -u username
- Raspe todos os Tweets de um usuário (não inclui retuítes , mas inclui respostas ).
twint -u username -s pineapple
- Raspe todos os Tweets da linha do tempo do usuário contendo abacaxi .
twint -s pineapple
- Colete todos os Tweets contendo abacaxi dos Tweets de todos.
twint -u username --year 2014
- Colete tweets que foram tweetados antes de 2014.
twint -u username --since "2015-12-20 20:30:15"
- Colete tweets que foram tweetados desde 2015-12-20 20:30:15.
twint -u username --since 2015-12-20
- Colete tweets que foram tweetados desde 20/12/2015 00:00:00.
twint -u username -o file.txt
- Raspe tweets e salve em arquivo.txt.
twint -u username -o file.csv --csv
- Raspe tweets e salve como um arquivo csv.
twint -u username --email --phone
- Mostra tweets que podem conter números de telefone ou endereços de e-mail.
twint -s "Donald Trump" --verified
- Exibir tweets de usuários verificados que tweetaram sobre Donald Trump.
twint -g="48.880048,2.385939,1km" -o file.csv --csv
- Raspe Tweets de um raio de 1 km ao redor de um lugar em Paris e exporte-os para um arquivo csv.
twint -u username -es localhost:9200
- Envie tweets para o Elasticsearch
twint -u username -o file.json --json
- Raspe tweets e salve como um arquivo json.
twint -u username --database tweets.db
- Salva tweets em um banco de dados SQLite.
twint -u username --followers
- Raspe os seguidores de um usuário do Twitter.
twint -u username --following
- Raspe quem um usuário do Twitter segue.
twint -u username --favorites
- Colete todos os tweets que um usuário adicionou como favorito (reúne cerca de 3.200 tweets).
twint -u username --following --user-full
- Coleta informações completas do usuário que uma pessoa segue
twint -u username --timeline
- Use um método eficaz para coletar Tweets do perfil de um usuário (reúne cerca de 3.200 Tweets, incluindo retuítes e respostas ).
twint -u username --retweets
- Use um método rápido para reunir os últimos 900 Tweets (que inclui retuítes) do perfil de um usuário.
twint -u username --resume resume_file.txt
- Retoma uma pesquisa a partir do último ID de rolagem salvo.
Mais detalhes sobre os comandos e opções estão localizados no wiki
Twint agora pode ser usado como um módulo e suporta formatação personalizada. Mais detalhes estão localizados no wiki
importar twint# Configurec = twint.Config()c.Username = "realDonaldTrump"c.Search = "ótimo"# Runtwint.run.Search(c)
Saída
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
importar twintc = twint.Config()c.Username = "noneprivacy"c.Custom["tweet"] = ["id"]c.Custom["user"] = ["bio"]c.Limit = 10c.Store_csv = Truec.Output = "nenhum"twint.run.Search(c)
Escreva para arquivo;
CSV;
JSON;
SQLite;
Elasticsearch.
Detalhes sobre como configurar o Elasticsearch com Twint estão localizados no wiki.
Os detalhes do gráfico também estão localizados no wiki.
Estamos desenvolvendo um aplicativo Twint Desktop.
Tentei extrair tweets de um usuário, sei que eles existem, mas não estou conseguindo
O Twitter pode banir contas, o que significa que seus tweets não estarão disponíveis por meio de pesquisa. Para resolver isso, passe --profile-full
se você estiver usando Twint via CLI ou, se estiver usando Twint como módulo, adicione config.Profile_full = True
. Observe que esse processo será bastante lento.
Para obter apenas nomes de usuário de seguidores/seguidores
twint -u username --followers
twint -u username --following
Para obter informações de usuários de seguidores/seguidores
twint -u username --followers --user-full
twint -u username --following --user-full
Para obter apenas informações do usuário
twint -u username --user-full
Para obter informações de usuários de uma lista de usuários
twint --userlist inputlist --user-full
Para obter 100 tweets em inglês e traduzi-los para o italiano
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
ou
importar twintc = twint.Config() c.Username = "noneprivacy"c.Limit = 100c.Store_csv = Truec.Output = "none.csv"c.Lang = "en"c.Translate = Truec.TranslateDest = "it" twint.run.Search (c)
Notas:
O Google Tradutor tem algumas cotas
Como usar o Twint como uma ferramenta OSINT
Tutorial básico feito por Null Byte
Analisando Tweets com PNL em minutos com Spark, Optimus e Twint
Carregando tweets em Kafka e Neo4j
Se você tiver alguma dúvida, quiser participar de discussões ou precisar de ajuda extra, fique à vontade para ingressar em nosso canal focado em Twint na equipe OSINT