← All projects

Sole Developer · 2022 (2025)

Bandcamp Downloader

Stack: Beautiful Soup, HTTPX, Charles Proxy

Source ↗

Motivation

Bandcamp is the perfect media service for beginner web scrappers with a relatively low barrier of entry needed to parse a page's requests and download songs. Additionally bandcamp has no TOS that prevents this form of web scraping as all artist pages have a free downloadable option which is used in the application.

See here: Bandcamp FAQ

Approach

Overal Logic structure is as follows:

  • Validate Bandcamp URL structure
  • Clean URL (remove query params)
  • Fetch HTML page
  • Parse HTML and get data as JSON
  • Extract URL's per track
  • Download each URL in parallel

Features

  • Multiple Tracks can be downloaded at once
  • Settings can be tweaked to limit concurrent downloads and change rate limit times
  • File Structure ./Downloads/<artist>/<album>/<track x> maintains an organized list of songs.

Links