[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: wie HTTP/FTP Download mit Regex?



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


Reply to: