Hallo, Simon Jolle wrote: > Ich möchte bei http://archiv.ulm.ccc.de/radio/ alle Radiosendungen > (nur im MP3 Format und ohne Musik) namens devradio*_nomusic.mp3 > downloaden. Laut wget(1) kann man keine regular Expressions angeben. > > Wie erledige ich einen solchen Task möglichst elegant. Ich bin oft in > der Situation selektiv mirrorn zu wollen (Bandbreite sparen). Nach > Dateiendung kann wget filtern (-A und -R), mehr meines Wissens nicht. Perl. Perl kann alles, auch das, was man besser ohne Perl mit Bordmitteln lösen sollte: #!/usr/bin/perl use warnings; use strict; use LWP::Simple; use Regexp::Common qw/URI/; my $url = 'http://archiv.ulm.ccc.de/radio/'; my $text = get($url); my @urls = $text =~ m/href="([^"]+)"/g; for (@urls) { if (m/^devradio.*_nomusic\.mp3$/){ print STDERR "Downloading $url$_..."; getstore($url . $_, $_); print STDERR "done\n"; } } Alternativ kannst du die Dateinamen auch nur alle ausgeben lassen und mit wget herunterladen. Grüße, Moritz -- Moritz Lenz http://moritz.faui2k3.org/ - http://sudokugarden.de/ - http://perl-6.de/
Attachment:
signature.asc
Description: OpenPGP digital signature