DOE AGORA Qualquer valor

TWINT - Ferramenta de inteligência do Twitter

TWINT - Ferramenta de inteligência do Twitter

2 3

PyPI Status da compilação Python 3.6|3.7|3.8 Licença do GitHub Downloads Downloads Patreon 

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 .Profileou com .Favoritesvocê 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 Elasticsearch
  • twint -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 segue
  • twint -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

gráfico

Os detalhes do gráfico também estão localizados no wiki .

Estamos desenvolvendo um aplicativo Twint Desktop.

4

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-fullse estiver usando o Twint via CLI ou, se estiver usando o Twint como módulo, adicione config.Profile_full = TruePor 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:

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

Ebook

Postagens mais visitadas