Recently, I realized I lost my locally kept copy of all the Canadian Podcast buffet episodes. Not a huge deal, since they’re all up on Libsyn, but still, I feel more comfortable having a local copy. I’m like that.
So I connected via FTP to Libsyn, and prepared to download all our media files, but, they weren’t there. Once a file is uploaded to Libsyn, it’s not visible by FTP. They want FTP to an upload-only function. So it seemed, the only way to get the 160+ episodes was to download them 1 by 1.
If you want to do this, you may be happy to know there is a (somewhat) easier way. This may not be entirely elegant, but elegant wasn’t a criteria for this
The first step is to install the “Download them all” add-on for Firefox. This lets you quickly download files linked from a web page, and even filter on file names or file types. So I filtered on *.mp3 files and I was one click away from downloading the audio for all the episodes:
… Or at least, the last 10 episodes… Hmmph. so close!
So I needed a page that would list ALL the episodes, and then I could redo the download step. WordPress doesn’t do this by default. If you go into your wordpress theme editor, find the main page (usually called index.php), and insert this line:
In front of a line that look like this:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
The main page will now list ALL the posts. It may be a HUGE page to load (CPB was over 200 posts, so it took a while), but it does load them all.. Then, go back to your “Download them All” plugin, and again filter on *.mp3 :
Now before you click “Start!” , make sure you go into the preferences for download-them-all, and set the number of concurrent downloads to something reasonable, especially if you want to keep using the computer :
Then, click “Start” and you’re on your way.
Once your downloads are started, be sure to go back and remove that line from your “main.php”, or the page will be slow to load for everyone..
If, like us, your show has been active since 2005, you may want to walk away and let it run for a while