Si vous voulez télécharger un site entier, peut être pour le visiter off-line, wget peut le faire. Par exemple:
$ wget \ --recursive \ --no-clobber \ --page-requisites \ --html-extension \ --convert-links \ --restrict-file-names=windows \ --domains website.org \ --no-parent \ www.website.org/tutorials/html/
Cette commande va télécharger le site www.website.org/tutorials/html/.
Les options sont:
-–recursive
: télécharge le site web entier.
–-domains website.org
: ne suit pas les liens pointant hors du domaine website.org.
–-no-parent
: ne suis pas les liens pointant hors du dossier tutorials/html/.
–-page-requisites
: récupère tous les éléments qui composent la page (images, CSS et cie).
-–html-extension
: enregistre les fichiers avec l’extention .html.
–-convert-links
: convertit les liens afin qu’ils fontionnent localement (off-line).
–-restrict-file-names=windows
: modifie les noms de fichiers afin qu’ils fonctionnent aussi sur Windows.
–-no-clobber
: n’écrase pas les fichiers déjà existants (utilisé en cas de téléchargement interrompu et repris).
Il peut aussi être important d’ajouter les options
–wait=9 –limit-rate=10K
qui éviteront de surcharger le serveur qui vous fournit les pages et d’éviter, éventuellement, de vous faire blacklister par un admin un peu pointilleux.
–-wait=X
: attend X secondes entre chaque téléchargement
-–limit-rate=XK
: limite la bande passante utilisée à X Ko/s
Utiliser ces options permet plus de souplesse que de simplement utiliser l’option -m (mirror).
Afficher à l’écran le contenu d’une url, par exemple afficher le code html d’une page web
wget -qO- http://google.fr
-q : pour quiet, pour ne pas afficher tout le bazard de texte
-O : permet de spécifier dans quel fichier stocker le contenu téléchargé par wget. Ici on ajoute un tiret afin de spécifier la redirection vers l’écran (STDOUT)
Faire un appel à une url. Dans le cas d’un cron web par exemple.
wget -q --spider http://monsite.fr/cron.php
-q : pour quiet, pour ne pas polluer les logs ou autre.
–spider : permet de ne rien télécharger.
Télécharger un répertoire complet via ftp (ce qu’on ne peut pas faire avec de simple commande ftp)
wget -r ftp://login:passwd@ftp.host.net/thedir
Assez souvent quand on télécharge un fichier, on se retrouve avec un nom de fichier qui ne correspond à rien, exemple
$ wget http://download-lb.utorrent.com/endpoint/btsync/os/linux-glibc23-x64/track/stable $ ls $ stable
On se retrouve avec un fichier nommé stable qui est en faite le dernier élément de l’url. Si on télécharge à la même url dans un navigateur web classic, on obtient le fichier btsync_glibc23_x64.tar.gz
Voici la solution, l’option –content-disposition
qui tient compte de l’entête “Content-Disposition” pour le choix des noms de fichiers locaux.
$ wget --content-disposition http://download-lb.utorrent.com/endpoint/btsync/os/linux-glibc23-x64/track/stable $ ls $ btsync_glibc23_x64.tar.gz