Hochzeit-Fotos von ichwuensche.ch automatisiert herunterladen

Heuer war es wieder mal soweit — Bekannte, welche im September 2013 geheiratet und an deren Hochzeit Stephanie und ich teilgenommen haben, haben die Fotos über ichwuensche.ch zugänglich gemacht. Da es mir zu blöd war, mich durch die 12 Web-Seiten voller Hochzeitsbilder zu klicken, habe ich mir ein kleines PHP-Script geschrieben, welches mir die URLs der Fotos generiert. Dafür benötige ich die fortlaufende Nummer des ersten sowie letzten Bildes der Serie; das Script generiert anschliessend automatisiert alle URLs.

<?php
$base = 'http://www.ichwuensche.ch/images/gallery/';
$start = 1269245;
$end = 1269774;
$suffix = '_l.jpg';

$counter = 0;
for($i = $start; $i <= $end; $i++) {
$counter++;

// $middle = 4/4/2/9/6/ if JPEG basename is 1269245
$middle = strrev($i);
$middle = substr($middle,0,5);
$middle = implode('/',str_split($middle)) . '/';

$url = $base . $middle. $i . $suffix;
echo $url . "\n";
}

echo "\n" . $counter . "\n";
?>

Anschliessend führt man das Script aus, pipet die Ausgabe in eine Textdatei und lässt dann wget seine Arbeit verrichten:

$ php generate-urls.php > urls.txt
$ wget -i urls.txt
--2013-12-19 16:06:37-- http://www.ichwuensche.ch/images/gallery/4/7/7/9/6/1269774_l.jpg
Verbindungsaufbau zu www.ichwuensche.ch (www.ichwuensche.ch)|85.158.232.45|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 150027 (147K) [image/jpeg]
In »»1269774_l.jpg«« speichern.
...

ACHTUNG: Leider haben die Entwickler der Web-Site nicht viel überlegt: Unter den Total 530 Fotos findet sich auch die Hochzeit eines unbekannten Paares aus dem Thurgau, eine Amerika-Reise eines anderen, ebenfalls unbekannten Paares sowie die wohl fast schon obligatorischen Katzenfotos.

Umgekehrt bedeutet dies, dass ein Script-Kiddie in einer Nacht alle Fotos der Web-Site abräumen könnte. Na dann.