SpotDown

Automated download tool for Spotify Playlists

MIT License

Stars
4
Committers
2

SpotDown

Automated downloading tool for Spotify playlists.

Selenium based tool to download spotify playlists automatically using:

  • Python 3.7-3.8 (tested)
  • selenium==3.141.0
  • Spotify-API
  • spotipy==2.19.0
  • Youtube Data-API v3

Table of content

Dependencies

For a full list of dependencies check requirements.txt.

Installation

Windows

Cloning

Clone this repository git clone https://github.com/saadz-khan/SpotDown

Create Virtual Environment

  • Change your current working directory by cd SpotDown
  • Create virutal environment using python -m venv env

Activate Virtual Environment

To activate the virtual environment run:

  • env\Scripts\activate.bat for Command Prompt

  • env\Scripts\activate in Windows Powershell

Dependency Installation

Install the dependencies using pip install -r requirements.txt

Prerequisite

This part is a one time setup. Note down your API-keys and keep them to yourself

  • Sign in to the spotify developers dashboard here and create, name a project to get the client_id and client_secret.
    Demo below (client_keys generated below is deleted)
  • Sign in to the google-api developers console here.
  • Go to the Library and search Youtube Data API v3 and click Enable this API.
  • Go to Credential on the left side-bar and click Create Credentials on top of the page then API key.
    Demo for above 3 steps below (API_Key generated below is deleted)
  • Edit the variables.py file and add the client_id, client_secret, API key to spotify_client_id, spotify_client_secret, youtube_data_api_key respectively.

Download Playlist

Please ensure that there is no directory named SpotDown/SpotDown/downloads after the first run or would give an error. (Will add some workaround later) Replace https://open.spotify.com/playlist/link_to_playlist with actual link by sharing the playlist and copying its link and Run:

python main.py https://open.spotify.com/playlist/link_to_playlist

Contribute

Contributions, issues and feature requests are welcome. Feel free to check issues page if you want to contribute. Check the contributing guide.

License

Copyright (c) 2021 Saad Zafar Khan This project is MIT licensed.

End Note

Enjoy! A star would be appreciated. Issues and Pull Requests are open.

Badges
Extracted from project README
made-with-python selenium spotipy google-data-API dependencies
Related Projects