Wget est un programme de téléchargement de fichiers qui fonctionne en ligne de commande. Il supporte les protocoles HTTP,HTTPS ,FTP ainsi que le téléchargement au travers des proxies HTTP.
Wget vous permet d’effectuer ses tâches en arrière plan, ce qui peut être très utile pour les téléchargements de données nombreuses et lourdes. Vous pouvez ainsi changer de session et laisser Wget finir le travail!
Ce logiciel libre peut être utiliser pour le simple téléchargement d’un fichier mais aussi pour aspirer entièrement ou en parti un site que vous pouvez par la suite consulté localement ( le site sera alors intégralement consultable hors ligne depuis votre disque dur ). Point fort appréciable, Wget vous permet de reprendre un téléchargement échoué suite à divers problèmes ( connections instables ou très lentes etc…) . Enfin grâce à ces nombreuses options Wget est un outil de téléchargement très puissant !
Je mets à disposition les options principales de Wget ainsi que quelques exemples.
Vous pouvez contribuer à ce tutoriel en ajoutant des options avec leurs exemples par le biais des commentaires !!
-V –> Renseigne sur la version de Wget.
-h –> Affiche toutes les options disponibles.
-i –> Lit les adresses depuis un fichier .txt.
-t –> Définit le nombre de tentatives, 0 ou inf pour un nombre illimité de tentatives. Par défaut 20 tentatives sont effectuées, à moins qu’une erreur fatale apparaisse.
-c –> Reprend un téléchargement interrompu.
-S –> Affiche les messages envoyés par les serveurs FTP ou HTTP.
-Y –> on/off active ou désactive le support proxy.
-nd –> Si cette option est utilisé les fichiers sauvegardés le seront dans un seul et même répertoire.
-x –> Si cette option est utilisée des répertoires seront crée, exemple avec la commande wget -x http://site/rep/fichier.txt le fichier.txt sera sauvegardé dans /site/rep/.
–http-utilisateur –http-mot de passe –> Permet de spécifier sont nom d’utilisateur ainsi que son mot de passe.
–proxy-utilisateur –proxy-mot de passe –> Idem mais avec un serveur proxy.
-r –> Active le téléchargement récursif.
-l –> Indique la profondeur à utiliser lors d’un téléchargement récursif.
-k –> Convertit les liens pour être disponible en consultation local.
-p –> Oblige Wget de télécharger tout les fichiers requis pour une consultation convenable d’une page HTML.
-m –> Active toutes les options convenables pour faire un miroir.
–follow-ftp –> Sans cette option tout les liens FTP donnés depuis un document HTML seront ignorés.
-H –> Autorise lors d’un téléchargement récursif le changement d’hôtes.
-np –> Ne remonte pas les répertoires parents.
-A –> Permet de ne télécharger que le type de fichier choisi.
-o –> Permet d’ enregistrer tout les messages de Wget dans un fichier.
-a –> Idem que -o sauf que les messages sont ajouté à la suite du fichier empêchant ainsi d’ écraser l’ ancien fichier.
–user-agent=paul –>S’identifier sous le nom paul pour le serveur HTTP.Permet de falsifier la valeur de user-agent envoyé par Wget, ceci n’est pas recommander à moins de vraiment savoir ce que vous faites
–limit-rate=30K –> Permet de limiter le débit, ici à 30 ko/s.
- wget http://www.site.org/rep/01/fichier.txt
Pour télécharger simplement l’URL.
- wget -c ftp://serveur.org/rep/01/fichier.txt
Permet de reprendre le téléchargement de l ‘URL si celui-ci est incomplet.
- wget -r –limit-rate=30k http//www.site.org/ -owgetlog
Télécharge récursivement le site ( -r ) et enregistre les messages dans le fichier wgetlog ( -o ) en limitant le débit du téléchargement à 30 Ko/s ( –limite-rate=30k ).
- wget -r -l4 http://www.site.org/ -awgetlog
Idem mais avec une profondeur de 4 ( -l4 ) et en enregistrant les messages à la suite du fichier wgetlog déjà créé ( -awgetlog ).
- wget -r -np http://www.site.org/rep/01/
Dans ce cas seul le répertoire /01/ sera copier ( -np ). les répertoires parent seront ignorés.
- wget -r -nd http://www.site.org/rep/01/
Ici aucun répertoire ne sera créé ( -nd ).
- wget -r l4 ftp://paul:123@serveur.org/
Certains serveurs FTP ont besoins d’une authentification pour y avoir accès. L’ utilisateur est donc paul, 123 étant son mot de passe.
- wget -r -l3 -A.txt ftp://serveur.org/
Dans ce cas seul les fichiers de type .txt seront téléchargés ( -A.txt ).
- wget -r -A.jpg -awgetlog -imaliste.txt
Ici seul les fichiers .jpg seront téléchargés ( -A.jpeg ), les messages seront inscrit à la suite du fichier wgetlog ( -awgetlog ) et Wget téléchargera à partir des adresses indiqués dans le fichier .txt ( -imaliste).
- wget -r -linf-k -p http://www.site.org/
Télécharge le site récusirvement avec une profondeur infinie ( -linf ), convertit les liens pour une consultation en local ( -k ) et rapatrie tout les fichiers nécessaires à l’affichage convenable d’une page HTLM ( -p ).
Lien :
Site officiel de Wget : http://www.gnu.org/software/wget/
NOTE : J’ espère que ce tutoriel vous sera utile et merci d’ avance pour votre contribution !!
30 avril 2007 à 21:10
Merci pour ce tuto.
18 décembre 2007 à 15:51
Merci d’avoir pris cette initiative. J’ai récupéré Wget sur Windows (oui, désolé) et la manpage en Anglais n’est pas très clair pour moi. J’espère trouver tout ce qu’il faut ici.
Au fait, je suppose que sous Windows, l’histoire du « changer de session » en maintenant wget en marche ne fonctionne pas ? …
Mon but est de faire exactement ce que fait « Webcam Watcher » mais avec 100 webcams avec des temps de reload différents pour chacune, et sans l’interface graphique. Les JPG devront être enregistrés ET RENOMés à la date du téléchargement ou du fichier sur serveur (exemple 200712181550.jpg) . Voilà, je vais voir ce que je px faire. Au pire, je me ferai un script en Perl que je ne maitrise pas encore très bien.
4 janvier 2008 à 19:35
Salut,
Je suis aps un newbie mais je comrpends pas du tou comment on actionne ces commandes. Ou faut-il les taper ?
J’ai télécharger wget et quand je le lance ils e referme instantanément, normal vu que c’est un peu comme une commande dos. Mais ca, par exemple le plus simple, -V, faut le taper ou ? un fichier dnas le répertoire ?
Merci d’avance, je patauge totallement.
Kévin
5 janvier 2008 à 11:39
les commandes sont à taper dans un terminal… Menu Applications -> Accessoires -> Terminal.
5 janvier 2008 à 13:51
Merci de l’explication, j’ai réussi avec l’invite de commande a faire quelques petits trucs, et j’ai même crée des bat pour automatiser…
C’est pratique, effectivement, je vais relire a présent ce tuto, merci encore.
20 mars 2008 à 9:04
Je ne comprend pas comment on peu faire pour que wget écrase les anciens fichiers …
20 mars 2008 à 17:45
l’option -nc doit surement repondre à ton problème : `-nc’
`–no-clobber’
If a file is downloaded more than once in the same directory, Wget’s behavior depends on a few options, including `-nc’. In certain cases, the local file will be clobbered, or overwritten, upon repeated download. In other cases it will be preserved.
When running Wget without `-N’, `-nc’, `-r’, or `p’, downloading the same file in the same directory will result in the original copy of file being preserved and the second copy being named `file.1′. If that file is downloaded yet again, the third copy will be named `file.2′, and so on. When `-nc’ is specified, this behavior is suppressed, and Wget will refuse to download newer copies of `file’. Therefore, “no-clobber” is actually a misnomer in this mode—it’s not clobbering that’s prevented (as the numeric suffixes were already preventing clobbering), but rather the multiple version saving that’s prevented.
23 avril 2009 à 16:56
Bonjour,
Merci pour ton tuto, il m’a permis de m’en sortir!
Sais tu comment faire télécharger un fichier si il est différent dans le contenu?
Wget se lance toutes les minutes, renomme le fichier, mais j’aurais besoin qu’il ne télécharge que si le document texte est différent!
Merci et bon courage à tous!
23 avril 2009 à 19:05
Je n’ai pas de réponse précise à te donner mais simplement quelque pistes : Tu pourrais par exemple regarder du coté de rsync, ou alors te faire un petit script bash qui aurait pour fonction de comparer les fichiers. Bon courage
27 avril 2009 à 9:11
Merci pour ton suivi
Je vais tenter de chercher, mais etant débutant, j’ai pas fini !!
Merci pour ton aide!
14 avril 2010 à 18:51
c’est extrèmement malcommode, et en plus il n’y a rien qui fonctionne
12 mars 2011 à 10:36
@roland : Peut être que wget n’est pas l’application que tu recherches…
8 novembre 2011 à 13:56
Salut. Est il possible d’envoyer des requêtes HTTP (Get, Post etc) avec Wget ? Merci
19 octobre 2012 à 12:20
Bonjour et merci pour le tuto !
Comment peut-on télécharger plusieurs fichiers dans différents répertoire ? (du coup avec différentes adresse URL)
27 décembre 2012 à 17:45
Bonjour,
voila je dois effectuer un script permettant de télécharger de nombreux fichiers à partir d’un site « ensembl.org »,mais je souhaiterais savoir s’il est possible avec wget, de télécharger en masse afin d’obtenir que des fichiers archives.
merci beaucoup