Jon Daives' get-iplayer and radio

dinkypumpkin dinkypumpkin at gmail.com
Fri Feb 21 06:36:41 EST 2014


On 21/02/2014 10:45, Adrian Hicks wrote:
> Unfortunately, searching for Nature in this instance only results in
> TV shows being returned. No radio programmes are listed at all.
> Using the link "http://www.bbc.co.uk/programmes/p01rmtg1" and
> replacing programmes with playlist works fine as does the ID

First, use --type=radio if you want to search radio programmes.  Two 
episodes of Nature are currently available.  Second, your URL refers to 
an audio clip, not a programme episode.  get_iplayer can only catalogue 
catch-up content, which is comprised of recent episodes of current 
series, so clips won't be found in the get_iplayer cache.  As Jon 
explained, if you have the programme's PID (e.g., p01rmtg1) you should 
use it directly.

You can use get_iplayer HEAD to download from URLs on the iPlayer Radio 
site:

https://github.com/dinkypumpkin/get_iplayer/wiki/installation

But - if you're an average user, I really recommend you that don't 
bother.  Do as Jon instructed and use programme names or PIDs.

Why don't bother?  Several reasons.  Support for iPlayer Radio URLs 
relies on screen scraping, so could break at any time.  Also, many 
things that are not radio programme episodes are found under URLs 
containing "/programmes/", so you have to know which pages are likely to 
work.  If the page contains one (and only one) Flash player that plays 
one (and only one) radio programme or clip, there is a chance it will work.

But there's a bigger problem:  On many systems, the screen scraping 
won't work reliably due to a bug in one of the Perl modules 
(HTML::Parser) required by get_iplayer.  The bug has been fixed, but the 
latest version may not be available on your system.  If you used the 
Windows installer, you have the correct version.  If use OSX (as of 
10.9.1), you have the broken version.  If you use Linux/Unix, it depends 
on your distro.  Check the version with:

perl -e 'use HTML::Parser;print $HTML::Parser::VERSION;'

If the version is < 3.71, you'll need to update to 3.71 or higher for 
screen scraping to work reliably.  It is inadvisable to manually force a 
module update into your system's Perl installation, but you can install 
a local version of HTML::Parser to override the system version.  See:

https://github.com/dinkypumpkin/get_iplayer/wiki/manual#wiki-manual-perl-locallib





More information about the get_iplayer mailing list