TWINT - Ferramenta de inteligência do Twitter
TWINT - Ferramenta de inteligência do Twitter
Sem autenticação. Sem API. Sem limites.
Twint é uma ferramenta avançada de raspagem do Twitter escrita em Python que permite raspar Tweets de perfis do Twitter sem usar a API do Twitter.
Twint utiliza os operadores de busca do Twitter para permitir que você extraia Tweets de usuários específicos, extraia Tweets relacionados a certos tópicos, hashtags e tendências, ou classifique informações confidenciais de Tweets como e-mail e números de telefone. Eu acho isso muito útil, e você pode ser muito criativo com isso também.
O 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.
tl; dr Benefícios
Alguns dos benefícios de usar a API Twint vs Twitter:
- Pode buscar quase todos os Tweets (limites da API do Twitter para durar apenas 3200 Tweets);
- Configuração inicial rápida;
- Pode ser usado anonimamente e sem cadastro no Twitter;
- No rate limitations.
Limites impostos pelo Twitter
O Twitter limita a rolagem enquanto navega na linha do tempo do usuário. Isso significa que com .Profile
ou com .Favorites
você poderá obter ~3200 tweets.
Requisitos
- Python 3.6;
- aiohttp;
- aiodns;
- bela sopa4;
- cchardet;
- classes de dados
- pesquisa elástica;
- pysocks;
- pandas (>=0,23,0);
- aiohttp_socks;
- agendar;
- geopia;
- falso-usuário;
- py-googletransx.
Instalando
Ir:
git clone --depth = 1 https://github.com/twintproject/twint.git
cd twint
instalação do pip3 . -r requisitos.txt
Pip:
pip3 instalar twint
ou
pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
Pipenv :
pipenv install git + https: //github.com/twintproject/twint.git#egg=twint
Atualização de 2 de março de 2021
Adicionado : Dockerfile
Percebi que muitas pessoas estão tendo problemas para instalar (inclusive eu). Por favor, use o Dockerfile temporariamente enquanto eu os analiso.
Exemplos e Combos Básicos de CLI
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 timeline 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 twittados antes de 2014.twint -u username --since "2015-12-20 20:30:15"
- Colete Tweets que foram twittados desde 2015-12-20 20:30:15.twint -u username --since 2015-12-20
- Colete Tweets que foram twittados desde 2015-12-20 00:00:00.twint -u username -o file.txt
- Raspe Tweets e salve em file.txt.twint -u username -o file.csv --csv
- Raspe Tweets e salve como um arquivo csv.twint -u username --email --phone
- Mostrar Tweets que podem ter 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 em torno de um lugar em Paris e exporte-os para um arquivo csv.twint -u username -es localhost:9200
- Saída de Tweets para o Elasticsearchtwint -u username -o file.json --json
- Raspe Tweets e salve como um arquivo json.twint -u username --database tweets.db
- Salve 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 favoritos de um usuário (reúne ~3200 tweets).twint -u username --following --user-full
- Colete informações completas do usuário que uma pessoa seguetwint -u username --timeline
- Use um método eficaz para coletar Tweets do perfil de um usuário (Reúne ~3200 Tweets, incluindo retuítes e respostas ).twint -u username --retweets
- Use um método rápido para coletar os últimos 900 Tweets (incluindo retuítes) do perfil de um usuário.twint -u username --resume resume_file.txt
- Retomar uma pesquisa a partir do último ID de rolagem salvo.
Mais detalhes sobre os comandos e opções estão localizados no wiki
Exemplo de módulo
Twint agora pode ser usado como um módulo e suporta formatação personalizada. Mais detalhes estão localizados no wiki
import twint
# Configura
c = twint . Configuração ()
c . Nome de usuário = "realDonaldTrump"
c . Pesquisar = "ótimo"
# Execute
o gêmeo . correr . Pesquisar ( c )
Saída
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
import twint
c = gêmeo . Configuração ()
c . Nome de usuário = "sem privacidade"
c . Personalizado [ "tweet" ] = [ "id" ]
c . Personalizado [ "usuário" ] = [ "bio" ]
c . Limite = 10c . _
Store_csv = Verdadeiro c . Saída = "nenhum"
gêmeo . correr . Pesquisar ( c )
Opções de armazenamento
- Gravar no arquivo;
- CSV;
- JSON;
- SQLite;
- Pesquisa elástica.
Configuração do Elasticsearch
Os detalhes sobre como configurar o Elasticsearch com Twint estão localizados no wiki .
Visualização de gráfico
Os detalhes do gráfico também estão localizados no wiki .
Estamos desenvolvendo um aplicativo Twint Desktop.
Perguntas frequentes
Eu tentei raspar tweets de um usuário, eu sei que eles existem mas não estou conseguindo
O Twitter pode bloquear contas de sombra, o que significa que seus tweets não estarão disponíveis por meio de pesquisa. Para resolver isso, passe --profile-full
se estiver usando o Twint via CLI ou, se estiver usando o Twint como módulo, adicione config.Profile_full = True
. Por favor, note que este processo será bastante lento.
Mais exemplos
Seguidores seguindo
Para obter apenas nomes de usuário/nomes de usuário de 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
Lista de usuários
Para obter apenas informações do usuário 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
tradução de tweets (experimental)
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
import twint
c = gêmeo . Configuração ()
c . Nome de usuário = "sem privacidade"
c . Limite = 100
c . Store_csv = Verdadeiro
c . Saída = "none.csv"
c . Lang = "en"
c . Traduzir = Verdadeiro
c . TranslateDest = "it"
twint . correr . Pesquisar ( c )
Notas:
Postagens de blog em destaque:
- 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
Contato
Se você tiver alguma dúvida, quiser participar de discussões ou precisar de ajuda extra, fique à vontade para se juntar ao nosso canal focado em Twint na equipe OSINT
Comentários
Postar um comentário