PodSnatch is a simple1, cross-platform
2 podcast downloader. Feed it an OPML file and wire it
up to a cronjob, and it downloads your podcasts on your schedule. PodSnatch
also downloads all the metadata for each episode, and stores it in a plaintext
file with the same name as the episode audio, with .txt
appended.
1: Only ~100 lines of Python!
2: Probably, this has only been tested on Mac and Linux (Pop!_os 22.04).
python podsnatch.py --opml <input file> -o <output directory>
You can also use Python Pipenv to create and use virtual environments to keep your
Python installation clean. Once pip
is installed, run the following command to
install pipenv
:
pip install pipenv
Once pipenv
is installed, install the required packages from Pipfile.lock
:
pipenv sync
To install newer versions of packages, edit Pipfile
to the desired version then run:
pipenv update
To run the podsnatch.py
script, run:
pipenv run python podsnatch.py --opml <input file> -o <output directory>
The requirements.txt
can be updated based on what's in Pipefile
by running:
pipenv requirements > requirements.txt
If you don't want to deal with all the python setup crap (and I don't blame you) you can build the docker container and run with
docker run -it -v '/path/to/opml.opml:/input.opml' -v '/path/to/output_dir:/output' podsnatch
PRs welcone!