bandcamp_dlr is a python 3+ script for downloading, renaming, and tagging albums from Bandcamp.
You must supply the script an artist and an album name. These must be exactly how you see them in the album url.
http://artist.bandcamp.com/album/album_name/
note: this software has only been tested on Python 3.4.0, please report any issues you may have on earlier Python 3 versions
pip install -r requirements.txt
python bandcamp_dlr.py --help
name/link | use |
---|---|
docopt | argument parsing |
mutagen | mp3 tagging |
slimit | JavaScript minifier |
name/link | use | author |
---|---|---|
wgetter | simple file downloading | (c) phoemur |
jsobj | JavaScript object literal reading | (c) darkf |
colorama | CLI colours | (c) tartley |
--
Please note, you can download the required modules in one step with:
pip install -r requirements.txt
bandcamp_dlr.py (<url> | --artist <name> --album <name>)
[--save-art | --embed-art] [--folder <name>] [--exclude <list>]
[--help] [--version]
--embed-art Embed album artwork
--exclude <list> List of tracks to exclude from download. (separated by ",")
--folder <name> Name of download folder [default: downloads]
--save-art Download album artwork
-h, --help Show this screen
-v, --version Show version
bandcamp_dlr.py http://frank-zappa.bandcamp.com/album/hot-rats/ --get-art
bandcamp_dlr.py --artist="the-doors" --album="la-woman" --folder="My Music"
bandcamp_dlr.py --artist="pinkfloyd" --album="dsotm" --exclude="3, 5, 7"
import Bandcamp
album = Bandcamp.Album(
url = "http://{artist}.bandcamp.com/album/{album}",
# "save" or "embed" album artwork
save_or_embed = "save",
# a list of integers to exclude when downloading
# "exclude = [1, 2]", for example, will exclude tracks 1 and 2
exclude = [],
# download tracks to folder "downloads"
download_folder_name = "downloads"
)
print(album.title + " by " + album.artist)
album.download()
-
Download has stopped at x%, help?
Send your shell a KeyboardInterrupt. ^Z, ect. -
Will this software work on any OS?
It has only been tested on a Windows machine (so far), but it has been developed in a way that should make it cross-platform. (but not cross-pyversion)
By using the script above, you acknowledge and agree to the following terms of service/use:
- Do not use this script to download copyrighted audio.
- High quality audio is not guaranteed; the script uses audio provided by Bandcamp.
Piracy: I do not condone piracy in any form. My goal that this tool be used to obtain legal audio that would otherwise be extremely difficult to find. Bandcamp is a good source for these audio clips and allows new artists to showcase their work and earn a rightful income from it.
To ensure the survival of this tool and to help the artists who are providing the music, please buy their singles/albums directly from Bandcamp.