Wget

From macwrench

wget ist als Kommandozeilen-Programm ein sehr vielseitiges Download-Werkzeug und bietet bereits von Haus aus alle notwendigen Funktionen und Optionen. Als Alternative zur Nutzung von wget im Terminal existiert eine Vielfalt graphischer Oberflächen für wget, die allerdings in den meisten Fällen nur einen Bruchteil der Funktionsvielfalt von wget bieten.

Daher an dieser Stelle ein paar Tipps und Tricks für den alltäglichen Gebrauch von wget im Terminal:

Installation[edit]

Da wget nicht in der Teil der Standardinstallation von Mac OS X ist, muss es hier nachträglich installiert werden. Man kann es entweder aus dem Quellcode übersetzen oder aus den MacPorts installieren (alternativ: Fink/FinkCommander):

Quelltexte übersetzen[edit]

Hierfür ist die Installation der Xcode Developer Tools notwendig, für deren Download eine (kostenlose) Mitgliedschaft im Apple Developer Program notwendig ist. Im Terminal sind zur Installation folgende Kommandos einzugeben;

# wget-Quellcode herunterladen:
curl -o wget-latest.tar.gz http://ftp.gnu.org/gnu/wget/wget-latest.tar.gz
# ... und entpacken:
tar xzf wget-latest.tar.gz
# in dieses Verzeichnis wechseln (z.B. wget-1.12):
cd wget-x.y.z
# und übersetzen:
./configure --with-ssl=openssl
make

Anschließend kann wget entweder über folgendes Kommando installiert oder die Programmdatei src/wget manuell in irgendein gewünschtes Verzeichnis kopiert werden

sudo make install

Homebrew[edit]

In der Regel wird wget wohl über Homebrew installiert werden:

brew install wget

Die Installationsanweisungen für homebrew finden sich auf der Projektwebsite.

MacPorts[edit]

Alternativ ist die Installation auch über die MacPorts durch folgende Eingaben im Terminal möglich, wobei vorher deren Basis-Distributionspaket installiert werden muss:

sudo port install wget

Linux[edit]

Unter Linux ist wget üblicherweise als Paket in den jeweiligen Repositories vorhanden und lässt sich mit den entsprechenden Tools der Distribution installieren. Beispiel Debian/Ubuntu:

   sudo apt-get install wget

HowTOs[edit]

Webseiten speichern mit wget[edit]

Eine Webseite bzw. ein ftp-Verzeichnis spiegeln:

   -m <url>
   --mirror <url>

Was eine Kurzform ist für:

   -r -l inf -N <url>

Dabei ganz praktisch ist eine Umwandlung von Links in HTML-Dateien für die lokale Benutzung:

   --convert-links
   --backup-converted (Backup der Originaldateien vor der Umsetzung)

Downloads mit Wget[edit]

Das folgende Kommando lädt eine Datei von der Adresse <url> mit einer maximalen Downloadrate von 20kB/Sekunde, einem timeout von 20 Sekunden zwischen den Verbindungsversuchen und der automatischen Fortsetzung des Downloads nach einem Abbruch:

   wget -c --wait=20 --limit-rate=20K <url>

Nur Dateien eines bestimmten Typs laden[edit]

Das folgende Kommando lädt nur Dateien mit der Endung ".pdf" herunter:

   wget ftp://path/to/files/*.pdf

Downloads im Hintergrund ausführen[edit]

Möglichkeit A: mit Hilfe der Option -b:

   wget -cb <url>
   wget -c --background <url>

Möglichkeit B: mit Hilfe von screen:

   screen wget <url>

Verlassen des wget screens:

   Ctrl+A+D

Auflisten aller offenen screens

   screen -ls

Wechseln zum wget screen:

   screen -r <ID>

Möglichkeit C: Starten mit nohup nohup wget -c -o /path/to/activity.log <url>

nohup bewirkt dabei, dass das ausgeführte Kommando (hier wget) ausgeführt wird und sog "hangup" Signale ignoriert. Dadurch kann der Prozess im Hintergrund weiterlaufen, auch wenn sich der Benutzer zwischenzeitlich abmeldet.

Die Option

   -o /path/to/activity.log

bewirkt dabei, dass die Ausgabe in die dort genannte Datei geschrieben wird (anstatt auf den Bildschirm).

praktische Optionen[edit]

Hier noch eine kurze Zusammenstellung praktischer Optionen für die Benutzung auf die Schnelle:

Download-Bandbreite beschränken[edit]

Beschränkung der Download-Bandbreite auf x Bytes (bzw. auf KB bei angeängtem "K"), z.B.: --limit-rate=30K

   --limit-rate=<amount>
   --limit-rate=<amount>K

Downloads fortsetzen[edit]

Mit der folgenden Option werden zuvor abgebrochene Downloads fortgesetzt (wenn der Server dies unterstützt):

   -c <datei>
   --continue <datei>Screen

HTTP-Authentifizierung[edit]

Zugriff auf mit http-basic geschützte Bereiche:

   --http-user=<user>
   --http-passwd=<password>

Download-Liste[edit]

Downloads aus einer Datei holen (Liste aller zu ziehender URLs; eine URL pro Zeile):

   -i <datei>

Einen Browser vortäuschen:

   wget  -r -p -U Mozilla <url>

graphische Frontends[edit]

MacOS X[edit]

Linux[edit]

  • Gwget (Gnome Frontend für wget)

Windows[edit]

Alternativen/Erweiterungen[edit]

Aget[edit]

Aget (GPL) ist ein multi-threaded HTTP Downloader, der die herunterzuladenden Dateien in einzelne Teile aufsplittet und daher u.U. wesentlich schneller sein kann als wget. Beispiel:

   aget -n=5 <url>

Infos und Links[edit]