refkap  Home refkap  fbs refkap  Glossar refkap  fsys refkap  Internet refkap  WWW refkap  Wget   refkap  IPdienste
                refkap  BS1 refkap  BS2 refkap  BS3 refkap  SYS refkap  WO

Wget - Ausgewählte Beispiele


^     
<-  |  ->

Vorbereitung

Ein Problem bei der Nutzung von kopierten Webstrukturen sind die internen Links.
Je nach Aufbau des Originals sind mehr oder weniger Nachbesserungen erforderlich.
Wird im Original z.B. mit vollständigen URL's gearbeitet, bleiben diese erhalten und man verzweigt immer wieder auf das Original oder macht eine Substition über alle Seiten.
Werden die Linkadressen auf die Doc-Root bezogen (entspricht einer absoluten Adresse) sind ebenfalls meist Nachbesserungen erforderlich.
Werden allerdings nur relative Adressen verwendet gibt es keine Probleme und man kann die Kopie einer Webstruktur schrittweise und in Auszügen aufbauen.

Eine Verbesserung der Situation liefert auch eine automatische Konvertierung von absoluten zu relativen Adressen.

Da das Kopieren der Strukturen dieses Servers für Studenten ausdrücklich vorgesehen ist, werden 'meist' relative Adressen genutzt. Dies ermöglicht eine lokale Nutzung auch ohne Server. Es ist nur ein HTML-Browser für die Filestruktur erforderlich (an einigen Stellen ist ev. die Auflösung von index.html zu beachten).

Testen wir einige Beispiele:
In unserer Doc-Root (public_html) erzeugen wir etwa ein Verzeichnis wwwbs/. Dies dient als 'Basisverzeichnis' für die Übernahme der gewünschten Strukturteile.

Erstes Beispiel

- kopieren der Webstruktur von index.wget.html, dabei soll die Verzeichnisstruktur mit übernommen werden. Das Ergebnis wird positiv duch die Abbildung der Struktur in der Navigationsleiste bestimmt.

[wwwbs] > wget -r -l1 -p -nH http://wwwbs.informatik.htw-dresden.de/internet/wget/index.wget.html

Einige Bemerkungen zum Ergebnis und zu den Parametern.
Die gesamte Verzeichnisstruktur wird unter dem Verzeichnis wwwbs/ bis internet/wget erzeugt. Die Anzeige kann mit den Browser einfach mit "Datei öffnen" erfolgen. Startpunkt ist die Datei "index.html" unter wwwbs/ (ohne Server erfolgt kein automatisches Öffnen von index.html).

-r   sorgt für diesen rekursiven Aufbau
-l1  für die Rekursionstiefe (minimales Download)
-p   ist erforderlich, damit z.B. alle Links in <img> aufgelöst werden, 
     sonst fehlen ein paar Bilder
-nH  unterdrückt den Hostnamen, sonst würde ein Verzeichnis wwwbs.informatik.htw-dresden.de 
     als Startverzeichnis erzeugt (für Kopien von mehreren Server ev. sinnvoll).

Noch offen:
Keine Bereitstellung des Hintergrundbildes aus body.css. Bisher nur Lösung indivituell nachladen.
Keine Auflösung des Links auf "Kommandoliste". Mit -l2 wird auch diese Seite bereitgestell. Damit verbunden ist aber bereits ein wesentlich erweiterter Umfang der gesamten Struktur der Website.

Seiten mit Passwortschutz

, etwa einfach das gesamte Linuxskript mit

[wwwbs] > wget -r -l1 -p -nH --http-user=XXX --http-passwd=XXXX \
http://wwwbs.informatik.htw-dresden.de/lehre/lehrmaterial/teil2_3/inhaltu2.3.html

(XXX und XXXX steht für id und passwd für /lehre, passwd steht allerdings im Klartext in der Kommandozeile)
Hier wird bereits eine umfangreichere Struktur geladen, d.h. die Umgebung des Skriptes ("Kommandoliste", "Bashliste") ist vorhanden. Auch die Download-Zeit ist kein Problem. Lediglich die Archivfiles dauern etwas. Diese werden allerdings nicht mehr benötigt und können auch ausgeschlossen werden (siehe Weitere Möglichkeiten).
Bei dieser Rekursionstiefe von 1, fehlen allerdings die Inhalte der Anlagen und auch das Hintergrundbild (ist sowieso Geschmacksache). Dies kann dann bei Bedarf "nachgeladen" werden.
Dies gilt auch für Seiten, die über eine URL-Umleitung verschoben worden.

Zusätzlich musste, für den Zugriff auf dies Seiten, in der /robots.txt von wwwbs noch die Erlaubnis für den Zugriff von wget gegeben werden.

....
# but allow wget
User-agent: wget
Allow:      /lehre

Weitere Möglichkeiten

Mit wget hat der Student eine einfache Möglichkeit sich die Lehrunterlagen schrittweise und diffenziert herunterzuladen. Die Bereitstellung eines Archivfiles auf den jeweiligen Indexseiten ist eigentlich überflüssig. Diese Dateien müssen nicht geladen werden.

-R   In einer Liste (durch Komma getrennt) lassen sich Muster oder Suffixe (auch mit
     Metazeichen) von Dateien angeben, die vom Download ausgeschlossen werden.
     In userem Beispiel etwa  -R  .zip,.doc,.pdf

Durch die Nutzung des Parameters -N lässt sich eine effektive Aktuallisierung durchführen.

-N   wget vergleicht das Datum jeder Datei, die heruntergeladen wird. Existiert bereits
     eine lokale Kopie, deren Datum dasselbe ist, wie von der Datei auf dem Server, 
     so wird diese Datei beim Download ausgelassen.

Dieser Parameter sollte auch beim "Nachladen" genutzt werden, da sonst eine Reihe bereits vorhandener Seiten oder Bilder erneut geladen werden.

     ^
<-  |  ->


L. Koch; 08.10.2006
Created with Vim Valid HTML 4.01!