Aucune authentification. Aucune API. Aucune limite.
Twint est un outil avancé de scraping Twitter écrit en Python qui permet de scraper les Tweets des profils Twitter sans utiliser l'API de Twitter.
Twint utilise les opérateurs de recherche de Twitter pour vous permettre de récupérer les Tweets d'utilisateurs spécifiques, de supprimer les Tweets relatifs à certains sujets, hashtags et tendances, ou de trier les informations sensibles des Tweets telles que les e-mails et les numéros de téléphone. Je trouve cela très utile et vous pouvez également faire preuve de beaucoup de créativité.
Twint effectue également des requêtes spéciales sur Twitter, vous permettant également de récupérer les abonnés d'un utilisateur de Twitter, les tweets qu'un utilisateur a aimé et ceux qu'il suit sans aucune authentification, API, Selenium ou émulation de navigateur.
Certains des avantages de l’utilisation de l’API Twint vs Twitter :
Peut récupérer presque tous les Tweets (l'API Twitter limite les 3 200 derniers Tweets uniquement) ;
Configuration initiale rapide ;
Peut être utilisé de manière anonyme et sans inscription sur Twitter ;
Aucune limitation de tarif .
Twitter limite les défilements lors de la navigation dans la chronologie de l'utilisateur. Cela signifie qu'avec .Profile
ou .Favorites
vous pourrez obtenir environ 3 200 tweets.
Python 3.6 ;
aiohttp;
aides;
belle soupe4;
cchardet;
classes de données
recherche élastique ;
chaussettes;
pandas (>=0,23,0) ;
aiohttp_socks ;
calendrier;
géopie;
faux agent utilisateur ;
py-googletransx.
Git :
git clone --degree=1 https://github.com/twintproject/twint.gitcd twint installation pip3. -r exigences.txt
Pépin:
pip3 installer twint
ou
pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
Pipenv :
pipenv installe git+https://github.com/twintproject/twint.git#egg=twint
Ajouté : Dockerfile
J'ai remarqué que beaucoup de gens rencontraient des problèmes d'installation (y compris moi). Veuillez utiliser le Dockerfile temporairement pendant que je les examine.
Quelques exemples simples pour vous aider à comprendre les bases :
twint -u username
- Supprime tous les tweets d'un utilisateur (n'inclut pas les retweets mais inclut les réponses ).
twint -u username -s pineapple
- Supprime tous les Tweets de la timeline de l' utilisateur contenant de l'ananas .
twint -s pineapple
- Collectez chaque Tweet contenant de l'ananas dans les Tweets de tout le monde.
twint -u username --year 2014
- Collectez les Tweets tweetés avant 2014.
twint -u username --since "2015-12-20 20:30:15"
- Collectez les Tweets tweetés depuis le 20/12/2015 20:30:15.
twint -u username --since 2015-12-20
- Collectez les Tweets tweetés depuis le 20/12/2015 00:00:00.
twint -u username -o file.txt
- Grattez les tweets et enregistrez-les dans file.txt.
twint -u username -o file.csv --csv
- Supprimez les tweets et enregistrez-les sous forme de fichier csv.
twint -u username --email --phone
- Afficher les Tweets pouvant contenir des numéros de téléphone ou des adresses e-mail.
twint -s "Donald Trump" --verified
- Afficher les tweets des utilisateurs vérifiés qui ont tweeté sur Donald Trump.
twint -g="48.880048,2.385939,1km" -o file.csv --csv
- Scrape les Tweets dans un rayon de 1km autour d'un lieu parisien et les exporte dans un fichier csv.
twint -u username -es localhost:9200
- Envoyer des tweets vers Elasticsearch
twint -u username -o file.json --json
- Supprimez les tweets et enregistrez-les en tant que fichier json.
twint -u username --database tweets.db
- Enregistrez les tweets dans une base de données SQLite.
twint -u username --followers
- Supprime les abonnés d'un utilisateur Twitter.
twint -u username --following
- Découvrez qui suit un utilisateur de Twitter.
twint -u username --favorites
- Collecte tous les tweets qu'un utilisateur a mis en favoris (rassemble ~ 3 200 tweets).
twint -u username --following --user-full
- Collecte les informations complètes sur l'utilisateur qu'une personne suit
twint -u username --timeline
- Utilisez une méthode efficace pour collecter les Tweets du profil d'un utilisateur (rassemble environ 3 200 Tweets, y compris les retweets et les réponses ).
twint -u username --retweets
- Utilisez une méthode rapide pour rassembler les 900 derniers Tweets (y compris les retweets) du profil d'un utilisateur.
twint -u username --resume resume_file.txt
- Reprendre une recherche à partir du dernier identifiant de défilement enregistré.
Plus de détails sur les commandes et les options se trouvent dans le wiki
Twint peut désormais être utilisé comme module et prend en charge le formatage personnalisé. Plus de détails se trouvent dans le wiki
importer twint# Configurec = twint.Config()c.Username = "realDonaldTrump"c.Search = "great"# Runtwint.run.Search(c)
Sortir
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
import twintc = twint.Config()c.Username = "noneprivacy"c.Custom["tweet"] = ["id"]c.Custom["user"] = ["bio"]c.Limit = 10c.Store_csv = Truec.Output = "aucun"twint.run.Search(c)
Écrire dans un fichier ;
CSV ;
JSON ;
SQLite ;
Recherche élastique.
Les détails sur la configuration d'Elasticsearch avec Twint se trouvent dans le wiki.
Les détails du graphique se trouvent également dans le wiki.
Nous développons une application de bureau Twint.
J'ai essayé de récupérer les tweets d'un utilisateur, je sais qu'ils existent mais je ne les reçois pas
Twitter peut bloquer des comptes, ce qui signifie que leurs tweets ne seront pas disponibles via la recherche. Pour résoudre ce problème, transmettez --profile-full
si vous utilisez Twint via CLI ou, si vous utilisez Twint comme module, ajoutez config.Profile_full = True
. Veuillez noter que ce processus sera assez lent.
Pour obtenir uniquement les noms d'utilisateur suiveurs/noms d'utilisateur suivants
twint -u username --followers
twint -u username --following
Pour obtenir des informations sur les abonnés/utilisateurs suivants
twint -u username --followers --user-full
twint -u username --following --user-full
Pour obtenir uniquement les informations utilisateur de l'utilisateur
twint -u username --user-full
Pour obtenir des informations sur les utilisateurs à partir d'une liste d'utilisateurs
twint --userlist inputlist --user-full
Pour obtenir 100 tweets anglais et les traduire en italien
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
ou
import 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)
Remarques :
Google Translate a des quotas
Comment utiliser Twint comme outil OSINT
Tutoriel de base réalisé par Null Byte
Analyser les tweets avec NLP en quelques minutes avec Spark, Optimus et Twint
Chargement de tweets dans Kafka et Neo4j
Si vous avez des questions, souhaitez participer à des discussions ou avez besoin d'aide supplémentaire, vous êtes invités à rejoindre notre chaîne axée sur Twint au sein de l'équipe OSINT.