====== wget ====== ===== Télécharger un site entier ===== 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). ===== Exemples ===== 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 ===== Nommer le fichier automatiquement ===== 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