Twint – l’outil d’Intelligence de Twitter

By | July 18, 2019



Twint est un outil de reconnaissance écrit en Python destiné à la plateforme Twitter.

Utilisant les opérateurs de recherches Twitter, Twint peut vous permettre de télécharger tous les tweets d’un profil, ou de télécharger des tweets selon des tendances, des hashtags, et même filtrer les informations sensibles comme les emails ou numéros de téléphones.

Cet outil OSINT réalise également des requêtes spéciales sur Twitter pour déterminer les favoris, les retweets, les followers, les following d’un utilisateur donné.

Bien qu’il existe une limite sur Twitter pour vos recherches sur un utilisateur (3200 derniers tweets), notez qu’il en existe aucune sur Twint. Grâce à Twint, vous serez donc en mesure de télécharger en intégralité tous les tweets d’un utilisateur donné !

Ci-dessous la liste des bibliothèques Python utilisées par Twint:

_ Python 3.6;
_ aiohttp;
_ aiodns;
_ beautifulsoup4;
_ cchardet;
_ elasticsearch;
_ pysocks;
_ pandas (>=0.23.0);
_ aiohttp_socks;
_ schedule;
_ geopy;
_ fake-useragent.

Twint peut s’utiliser de façon anonyme car aucune authentification n’est requise.

Installation

Clonez le repo de l’outil, puis, installez-le comme suit:

# git clone https://github.com/twintproject/twint.git
# cd twint
# pip3 install -r requirements.txt
# python3 setup.py install

Ci-dessous le menu d’aide de Twint.

$ twint -h
usage: python3 twint [options]

TWINT - An Advanced Twitter Scraping Tool.

optional arguments:
  -h, --help            show this help message and exit
  -u USERNAME, --username USERNAME
                        User's Tweets you want to scrape.
  -s SEARCH, --search SEARCH
                        Search for Tweets containing this word or phrase.
  -g GEO, --geo GEO     Search for geocoded Tweets.
  --near NEAR           Near a specified city.
  --location            Show user's location (Experimental).
  -l LANG, --lang LANG  Search for Tweets in a specific language.
  -o OUTPUT, --output OUTPUT
                        Save output to a file.
  -es ELASTICSEARCH, --elasticsearch ELASTICSEARCH
                        Index to Elasticsearch.
  -t TIMEDELTA, --timedelta TIMEDELTA
                        Time interval for every request.
  --year YEAR           Filter Tweets before specified year.
  --since DATE          Filter Tweets sent since date (Example: 2017-12-27).
  --until DATE          Filter Tweets sent until date (Example: 2017-12-27).
  --email               Filter Tweets that might have email addresses
  --phone               Filter Tweets that might have phone numbers
  --verified            Display Tweets only from verified users (Use with -s).
  --csv                 Write as .csv file.
  --json                Write as .json file
  --hashtags            Output hashtags in seperate column.
  --cashtags            Output cashtags in seperate column.
  --userid USERID       Twitter user id.
  --limit LIMIT         Number of Tweets to pull (Increments of 20).
  --count               Display number of Tweets scraped at the end of
                        session.
  --stats               Show number of replies, retweets, and likes.
  -db DATABASE, --database DATABASE
                        Store Tweets in a sqlite3 database.
  --to USERNAME         Search Tweets to a user.
  --all USERNAME        Search all Tweets associated with a user.
  --followers           Scrape a person's followers.
  --following           Scrape a person's follows
  --favorites           Scrape Tweets a user has liked.
  --proxy-type PROXY_TYPE
                        Socks5, HTTP, etc.
  --proxy-host PROXY_HOST
                        Proxy hostname or IP.
  --proxy-port PROXY_PORT
                        The port of the proxy server.
  --essid [ESSID]       Elasticsearch Session ID, use this to differentiate
                        scraping sessions.
  --userlist USERLIST   Userlist from list or file.
  --retweets            Include user's Retweets (Warning: limited).
  --format FORMAT       Custom output format (See wiki for details).
  --user-full           Collect all user information (Use with followers or
                        following only).
  --profile-full        Slow, but effective method of collecting a user's
                        Tweets and RT.
  --store-pandas STORE_PANDAS
                        Save Tweets in a DataFrame (Pandas) file.
  --pandas-type [PANDAS_TYPE]
                        Specify HDF5 or Pickle (HDF5 as default)
  --search_name SEARCH_NAME
                        Name for identify the search like -3dprinter stuff-
                        only for mysql
  -it [INDEX_TWEETS], --index-tweets [INDEX_TWEETS]
                        Custom Elasticsearch Index name for Tweets.
  -if [INDEX_FOLLOW], --index-follow [INDEX_FOLLOW]
                        Custom Elasticsearch Index name for Follows.
  -iu [INDEX_USERS], --index-users [INDEX_USERS]
                        Custom Elasticsearch Index name for Users.
  --debug               Store information in debug logs
  --resume TWEET_ID     Resume from Tweet ID.
  --videos              Display only Tweets with videos.
  --images              Display only Tweets with images.
  --media               Display Tweets with only images or videos.
  --replies             Display replies to a subject.
  -pc PANDAS_CLEAN, --pandas-clean PANDAS_CLEAN
                        Automatically clean Pandas dataframe at every scrape.
  --get-replies         All replies to the tweet.
  -cq CUSTOM_QUERY, --custom-query CUSTOM_QUERY
                        Custom search query.
  -pt, --popular-tweets
                        Scrape popular tweets instead of recent ones.
  -sc, --skip-certs     Skip certs verification, useful for SSC.

Exemples d’utilisation

Affichage des tweets d’un utilisateur.


Affichage des tweets d’un utilisateur contenant un mot clé.


Affiachage des tweets d’un utilisateur émis avant l’année 2016.


Affichage des retweets d’un utilisateur.


Affichage des favoris d’un utilisateur.


Téléchargement des following d’un utilisateur, puis sauvegarde dans un fichier json.



Téléchargement des followers d’un utilisateur, puis sauvegarde dans un fichier csv.


Affichage des tweets géocodés dans un radius d’1km autour d’un endroit très populaire d’Abidjan puis sauvegarde dans un fichier txt.


Affichage des tweets géocodés contenant le mot clé Abidjan provenant de comptes vérifiés dans un radius d’1km autour d’un endroit très populaire d’Abidjan.


Affichage des tweets géocodés qui pourraient avoir des numeros de téléphones ou des adresses mails dans un radius d’1km autour d’un endroit très populaire d’Abidjan.

Happy Hacking !

mdestroy

One thought on “Twint – l’outil d’Intelligence de Twitter

Leave a Reply

Your email address will not be published. Required fields are marked *