The goal of this simple python script is to analyze a Twitter profile through its tweets by detecting:
- Average tweet activity, by hour and by day of the week
- Timezone and language set for the Twitter interface
- Sources used (mobile application, web browser, ...)
- Geolocations
- Most used hashtags, most retweeted users and most mentioned users
- Friends analysis based on most frequent timezones/languages
There are plenty of things that could be added to the script, feel free to contribute! 👍
⚠ First, update your API keys in the secrets_twitter.py file. To get API keys go to https://apps.twitter.com/
Python v2.7 or newer is required
#I made it compatible with Python 3.10.
You will need the following python packages installed: tweepy, ascii_graph, tqdm, numpy
If you have pipenv installed you can just run:
$ pipenv install
Otherwise you can use:
$ pip install -r requirements.txt
usage: tweets_analyzer.py -n <screen_name> [options]
Simple Twitter Profile Analyzer
optional arguments:
-h, --help show this help message and exit
-l N, --limit N limit the number of tweets to retreive (default=1000)
-n screen_name, --name screen_name
target screen_name
-f FILTER, --filter FILTER
filter by source (ex. -f android will get android
tweets only)
--no-timezone removes the timezone auto-adjustment (default is UTC)
--utc-offset UTC_OFFSET
manually apply a timezone offset (in seconds)
--friends will perform quick friends analysis based on lang and
timezone (rate limit = 15 requests)
-e path/to/file, --export path/to/file
exports results to file
-j, --json outputs json
-s, --save saves tweets to tweets/{twitter_handle}/{yyyy-mm-
dd_HH-MM-SS}.json
--no-color disables colored output
--no-retweets does not evaluate retweets
GNU GPLv3
If this tool has been useful for you, feel free to thank me by buying me a coffee