Calocybe: "Verlorene Seelen" durchsuchen

Beitrag lesen

Hi!

Falls Du einen Perlinterpreter und die libwww-Module installiert hast, kannst Du mit unten stehendem kleine Quickhack-Script die Lost Souls runtersaugen. Dazu ein Verzeichnis "lost-souls" im selben Verzeichnis anlegen, wo das Script liegt. Dann kannst Du mit Deinen Betriebssystem-Tools die Dateien einfach durchsuchen.

Calocybe

#!perl -w

require LWP::UserAgent;

base values

$OUTDIR = './lost-souls';
$BASE = 'http://www.teamone.de/selfaktuell/self_forum/verlorene_seelen';

setup UA

$ua = new LWP::UserAgent;
$ua->proxy('http', 'http://your.proxy.server.de:81/');  # disable this line if no proxy to be used

get the dir listing

$response = $ua->request(new HTTP::Request('GET', "$BASE/"));
($response->code() == 200) die("Could not fetch dir listing. HTTP Error ", $response->code(), "\n");

open(INDEX, ">$OUTDIR/index.html");
print INDEX $response->content();
close(INDEX);

get the names of the lost souls

@souls = ();
for (split(/\n/, $response->content())) {
    /<a\s+href="(.+.html?)"\s*>/i && push(@souls, $1);
}

for (@souls) {
    $response = $ua->request(new HTTP::Request('GET', "$BASE/$_"));
    if ($response->code() == 200) {
        if (open(SOUL, ">$OUTDIR/$_")) {
            print SOUL $response->content();
            close(SOUL);
            print('.');
        } else {
            print STDERR "Could not write the regained soul $_ to the disk ($!)\n";
        }
    } else {
        print STDERR "Could not get lost soul $_. HTTP Error ", $response->code(), "\n";
    }
}