Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/saadz-khan/spotdown

Automated download tool for Spotify Playlists
https://github.com/saadz-khan/spotdown

download- downloader python python3 selenium spotify spotify-downloader spotipy youtube youtube-search

Last synced: 4 months ago
JSON representation

Automated download tool for Spotify Playlists

Awesome Lists containing this project

README

        

# SpotDown
> Automated downloading tool for Spotify playlists.

[![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/)
[![selenium](https://img.shields.io/badge/Selenium-3.141.0-blue)](https://www.selenium.dev/selenium/docs/api/py/api.html)
[![spotipy](https://img.shields.io/badge/Spotipy-2.19.0-blue)](https://spotipy.readthedocs.io/en/2.19.0/)
[![google-data-API](https://img.shields.io/badge/Google%20data--API-v3-blue)](https://developers.google.com/youtube/v3)
[![dependencies](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen)]()

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

- [Installation](#installation)
- [Cloning](#cloning)
- [Create Virtual Environment](#create-virtual-environment)
- [Activate Virtual Environment](#activate-virtual-environment)
- [Dependency Installation](#dependency-installation)
- [Prerequisite](#prerequisite)
- [Download Playlist](#download-playlist)
- [Contribute](#contribute)
- [License](#license)

## 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](https://developer.spotify.com/dashboard/login) and create, name a project to get the `client_id` and `client_secret`.
**Demo below (client_keys generated below is deleted)**


animated-gif2



- Sign in to the google-api developers console [here](https://console.cloud.google.com/apis).
- 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)**


animated-gif3

- 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](https://github.com/saadz-khan/SpotDown/blob/master/CONTRIBUTING.md).

## License
Copyright (c) 2021 [Saad Zafar Khan](https://github.com/saadz-khan)
This project is [MIT](https://github.com/saadz-khan/SpotDown/blob/master/LICENSE) licensed.


## End Note
> Enjoy! A star would be appreciated. Issues and Pull Requests are open.