Skip to content

Simple script which downloads bandcamp albums and songs with correct metadata

License

Notifications You must be signed in to change notification settings

xxruyle/bandcamp-download

Repository files navigation

bandcamp-download

Simple python script which downloads Bandcamp albums and songs in mp3 format. MP3 Files come with ID3 metadata.

Usage

usage: main.py [-h] [-u] link

Download bandcamp albums

positional arguments:
  link          Enter a valid bandcamp album or song link

optional arguments:
  -h, --help    show this help message and exit
  -u, --upload  Uploads files to YT Music

Running the script

Downloading from an album page

$ bcdl https://wolfgang-amadeus-mozart.bandcamp.com/album/mozarts-requiem-instrumental
Getting MP3 links...
Getting album cover from: https://f4.bcbits.com/img/a2608013838_16.jpg
Downloading Album: Mozarts Requiem  Instrumental: 100%|██████████████████████████████████████████| 12/12 [00:05<00:00,  2.06it/s] 100%|████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:05<00:00,  2.06it/s] Download Success!

The mp3 files and album cover downloaded with correct metadata

Uploading to Youtube Music using ytmusicapi

Folder C:/Music/Mozarts Requiem Instrumnetal: 100%|██████████████████████████████████████████████████████| 13/13 [00:21<00:00,  1.68s/it]
Upload Success!

Setup

  1. Install the requirements in the project directory
pip install -r requirements.txt
  1. Set your preferred directory path where you want your music installed to .\bandcampdl\pathdir.py
MUSIC_DIRECTORY = "C:\Music"  # Default directory
  1. run python main.py [-h] [-u] link

Uploading to Youtube Music

This script supports ytmusicapi where you can instantly upload songs to Youtube Music after downloading.

  1. Follow the setup steps using the ytmusicapi documentation to create a headers_auth.json

  2. Place the newly created headers_auth.json in the directory folder

  3. Use the -u argument when running python main.py

Further Notes