(For the hosted api version checkout spotiflite on rapidapi sourcecode for api is here)
Scrapes Spotify and dumps data to a sqlite3 database.
- Uses
requests
to make queries, with pythonic user-agent - sleeps randomly between each HTTP call
- is NOT in a hurry to get anywhere
- has nice 80's cli interface
$ pip install spotiflite
then go somewhere and setup a database:
$ spotiflite setup
you can also specify the db filename:
$ spotiflite --spotifydb=this/awesome/db setup
For example scrape Frank ෴ Zappa
$ spotiflite scrape 6ra4GIOgCZQZMOaUECftGN
got 44 artist ids
extracted data for Tom Waits
saved data for Tom Waits
got 8 artist ids
extracted data for Elmer Snowden
saved data for Elmer Snowden
got 6 artist ids
extracted data for Wesley Willis
saved data for Wesley Willis
...
while its running you can get stats in another window
$ spotiflite stats
rows: 9882
completed: 1395
jobs to do: 8487
DB size: 48.04 MB
Usage: spotiflite.py [OPTIONS] COMMAND [ARGS]...
Options:
-db, --spotifydb TEXT sqlite filename [default: spotify.db]
--help Show this message and exit.
Commands:
scrape starts scraping from given artist id
setup creates tables
stats print out db stats
teardown deletes tables