Save data from Twitter to a SQLite database
Project description
twitter-to-sqlite
Save data from Twitter to a SQLite database.
How to install
$ pip install twitter-to-sqlite
Authentication
First, you will need to create a Twitter application at https://developer.twitter.com/en/apps
Once you have created your application, navigate to the "Keys and tokens" page and make note of the following:
- Your API key
- Your API secret key
- Your access token
- Your access token secret
You will need to save all four of these values to a JSON file in order to use this tool.
You can create that tool by running the following command and pasting in the values at the prompts:
$ twitter-to-sqlite auth
Create an app here: https://developer.twitter.com/en/apps
Then navigate to 'Keys and tokens' and paste in the following:
API key: xxx
API secret key: xxx
Access token: xxx
Access token secret: xxx
This will create a file called auth.json
in your current directory containing the required values. To save the file at a different path or filename, use the --auth=myauth.json
option.
Retrieving tweets by an account
The user-timeline
command retrieves all of the tweets posted by the specified user account. It defaults to the account belonging to the authenticated user:
$ twitter-to-sqlite user-timeline twitter.db
Importing tweets [#####-------------------------------] 2799/17780 00:01:39
It assumes there is an auth.json
file in the current director. You can provide the path to your auth.json
file using -a
:
$ twitter-to-sqlite user-timeline twitter.db -a /path/to/auth.json
To load tweets for another user, use --screen_name
:
$ twitter-to-sqlite user-timeline twitter.db --screen_name=cleopaws
Twitter's API only returns up to around 3,200 tweets for most user accounts, but you may find that it returns all available tweets for your own user account.
Retrieving Twitter followers
The followers
command retrieves details of every follower of the specified account. You can use it to retrieve your own followers, or you can pass a screen_name to pull the followers for another account.
The following command pulls your followers and saves them in a SQLite database file called twitter.db
:
$ twitter-to-sqlite followers twitter.db
This command is extremely slow, because Twitter impose a rate limit of no more than one request per minute to this endpoint! If you are running it against an account with thousands of followers you should expect this to take several hours.
To retrieve followers for another account, use:
$ twitter-to-sqlite followers twitter.db --screen_name=cleopaws
See Analyzing my Twitter followers with Datasette for the original inspiration for this command.
Design notes
- Tweet IDs are stored as integers, to afford sorting by ID in a sensible way
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file twitter_to_sqlite-0.3-py3-none-any.whl
.
File metadata
- Download URL: twitter_to_sqlite-0.3-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d9caca4f2129a0ace5622e45b75cc644f30ad1b68ff3b129ff3fe5cc18d968c |
|
MD5 | 584062071144b423ba369ab501147982 |
|
BLAKE2b-256 | edeba03e1d51b4d195aca8fa8b7cb4203e9a816f4e0e035bc02b96eb038d4e70 |