Esgrove / recordpool-dl

Web automation tool for automatic DJ recordpool song downloads.
MIT License
6 stars 2 forks source link
selenium-python

Recordpool Downloader

Poetry black Ruff

:warning: NOTE (06/2023): I am no longer actively maintaining this since DJCity updated their site to work much better. I made this tool for own use and do not offer any support or help for others to run it. I only use it for Bandcamp currently, the pool interactions are likely outdated...

A command-line tool for automatically downloading music tracks from DJ recordpool websites. Implemented with Python 3 using Selenium for interacting with the websites. I use Chromedriver but other browsers could be used as well.

Supported pools:

In addition, there's also an option for Bandcamp to download all tracks / releases after a purchase, though this could be implemented in a nicer way, as now it is just hacked on top of the recordpool base class.

Motivation

Previewing and manually downloading new songs from record pools can be quite slow and frustrating. The song preview streams load slowly and are typically low bitrate. Similarly, launching downloads can be very slow on some record pools. The end result is that it takes a lot of time every week to sift through new songs added to the record pools.

Therefore, I made a tool for myself to automatically download all (desired) tracks from various recordpool services I have / had subscriptions for. After auto-downloading, I can then go through and sort the files much faster directly from my DJ software(s) and in Finder/Explorer, and just delete all the tracks I don't like.

Implementation

It is arguably a bit over-engineered, but since this project doubled as a learning opportunity for Selenium and web automation for me, I would say over-engineering is to be expected :bowtie:

Todo