![Hacker Public Radio artwork](https://is2-ssl.mzstatic.com/image/thumb/Podcasts113/v4/6e/8f/a8/6e8fa80a-9edd-225f-394b-2a6c8c473614/mza_6915183156681029220.png/100x100bb.jpg)
HPR3962: It's your data
Hacker Public Radio
English - October 10, 2023 00:00 - 3.99 MB - ★★★★ - 34 ratingsTechnology News Tech News community radio tech interviews linux open hobby software freedom Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed
This is a response show to
hpr3959
:: Download any HPR series with english file names "A dir with the
series name will be created and all shows will be renamed to
ShowTitle.mp3 inside it"
This was the first show by gemlog and he used Bash, sed, grep, wget,
to scrape the HPR site. This is great but as he points out any change to
the site will break the script.
A safer way to get the episodes is by scraping the rss feed, and the
following is an example of how you might do that
#!/bin/bash
series_url="https://hackerpublicradio.org/hpr_mp3_rss.php?series=42&full=1&gomax=1"
download_dir="./"
wget "${series_url}" -O - | xmlstarlet sel -T -t -m 'rss/channel/item' -v 'concat(enclosure/@url, "→", title)' -n - | sort | while read episode
do
url="$( echo ${episode} | awk -F '→' '{print $1}' )"
ext="$( basename "${url}" )"
title="$( echo ${episode} | awk -F '→' '{print $2}' | sed -e 's/[^A-Za-z0-9]/_/g' )"
wget "${url}" -O "${download_dir}/${title}.${ext}"
done