#!/usr/bin/perl use LWP::Simple; use XML::RSS::Parser; use FileHandle; use Encode; use Text::Unaccent; # URL du podcast $url="http://podcast.rtl.fr/grossestetes.xml"; # Repertoire de destination $dest="/home/Les_grosses_tetes/"; # Repertoire temporaire $tmp="/tmp/"; # Debut du script $tmpfile=$tmp."podcast_db.xml"; if (is_success(getstore($url,$tmpfile))) { print "Downloading $url OK\n"; $p = XML::RSS::Parser->new; $fh = FileHandle->new($tmpfile); $feed = $p->parse_file($fh); $feed_title = $feed->query('/channel/title'); $count = $feed->item_count; foreach my $i ( $feed->query('//item') ) { my $node = $i->query('title'); $podcast=$node->text_content; $podcast=encode('utf8', decode('latin1', $podcast)); $podcast =~ s/,/-/mg; $podcast =~ s/'//mg; print unac_string("utf8", $podcast)." "; $filename = $dest.$podcast.".mp3"; unless (-e $filename) { $valeur = $i->query('enclosure'); $media=$valeur->as_xml; @src=($media =~ m/http[^"]+\"/ig); $href=$src[0]; chop ($href); if (is_success(getstore($href,$filename))) { print "[ OK ]\n"; } else { print "[ Error ]\n"; } } else { print "[ EXIST ]\n"; } } }