HACKER Q&A
📣 ericra

Why is it so hard to download podcasts?


I know it's not the most popular option for consuming podcasts, but I much prefer to download full seasons of podcasts when on wifi to listen to later. Why do some podcast sites makes it so difficult to simply download? There are always 100 options linking to Apple, Stitcher, Spotify, etc, and only sometimes is there a link to download the podcast. Even then, the podcast will typically autoplay in a new window, and you have to click again to right-click -> save as. Alternatively, you sometimes have to go to the RSS feed and manually pluck out the actual sound files.

Ideally, I would like to be able to just download every episode of a podcast all in one go since disk space is not an issue. Is there any possible automated way to do this from an RSS feed?

As an aside, is there an actual reason podcasters would prefer you use a third-party service to download their shows? The ads are embedded in the sound file, so you're not avoiding ad exposure. Is it mainly just for tracking metrics and the higher probability that you will consume more shows once "subscribing"?


  👤 JNRowe Accepted Answer ✓
Many people have given their "why," but I'll give another "how".

castget¹ is a simple tool that does exactly what you want, just add a feed URL and it pulls all the episodes. It has a nice catchup mode so you can add feeds that you've listened to elsewhere without pulling all the old episodes too. hpodder² is another tool I've used in the past, but I can't remember why I switched.

Depending on how much you like cobbling together your own solution html-xml-utils³ makes it incredibly easy to script a solution. For example, "curl feed | hxselect -c -s '\n' 'enclosure::attr(url)'" would list just the URLs. feedparser⁴ is a battle tested solution for processing feeds if you'd prefer a proper parsing solution over a hacky shell script(it will correctly handle different formats without any extra work for example).

¹ https://castget.johndal.com/

² https://github.com/jgoerzen/hpodder/

³ https://www.w3.org/Tools/HTML-XML-utils/

https://github.com/kurtmckee/feedparser


👤 zachwlewis
Many modern podcasts don't actually include any ads in their source audio, relying instead on dynamic ad insertion.

Many podcast hosts provide dynamic ad insertion functionality. Unlike baked-in ads, podcast creators mark the locations of where ads can be inserted and, when requested by a user, the host generates a new MP3 on-the-fly using the user's tracking data (geolocation, demographics, etc.) that is then downloaded to their device.

This allows old podcasts to continue to generate ad revenue by dynamically inserting ads from currently-running ad campaigns.

https://advertise.acast.com/news-and-insights/the-benefits-o...


👤 ericra
Despite there being many good solutions and suggestions from people here, I ended up creating my own podcast downloader as a learning experience:

https://github.com/EricRa/python-scripts/tree/main/modules/p...

Appreciate everyone's suggestions and time!


👤 ericra
The title should really be "Ask HN: Why is it so hard to download podcasts from their websites". Oops.

👤 pwg
> Why do some podcast sites makes it so difficult to simply download?

Advertising.


👤 cranberryturkey
spotify has a "download" button.