Skip to content

An incomplete bandcamp python toolset (mainly downloads your collection)

License

Notifications You must be signed in to change notification settings

the-eater/camp-collective

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Camp Collective

A bandcamp python toolset

Camp collective currently gives you a useless API and a cli tool to download your whole bandcamp collection.

Usage

Camp Collective.

Usage:
    camp-collective -c=<cookie>... [options] download-collection [<target-directory>]

Options:
    --cookie=<cookie> -c       Cookies used to authenticate with Bandcamp (split by ; and content url encoded)
    --parallel=<amount> -p     Amount of items that should be downloaded parallel [default: 5]
    --status=<status-file> -s  Status file to save the status in of downloaded releases, so we don't over do it
    --format=<file-format> -f  File format to download (wav, forbis, flac, mp3-v0, mp3-320, alac, aiff-lossless, aac-hi) [default: flac]
    --after=<date>             Only download tralbums that are purchased after given date, given in YYYY-MM-DD

Quickstart

pyenv install 3.6.1 # or you equivalent
pyenv local 3.6.1
pip install -r requirements.txt
python -m camp-collective -c "$COOKIE_STRING" -p 10 download-collection ~/bandcamp -s "${STATUS_FILE}"

To authenticate with bandcamp you need to provide a cookie string, you can retrieve this by logging in in a webbrowser, opening the developer tools, and copying the value of the Cookie: header of a recent request to bandcamp.com (not bcbits.com!). previously we were able to use document.cookie however, the authentication cookie has now been set to HTTP only.

Bandcamp uses a captcha on the login page, so we can't use the conventional username/password authentication

You can use the status file to keep track of already downloaded tralbum's (as bandcamp calls it)


I have no connection with Bandcamp, except 1 support ticket on which the answer was "we'll think about it"

About

An incomplete bandcamp python toolset (mainly downloads your collection)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages