avr 26


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 !!

Options principales de Wget :

-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.

Exemples d’ utilisations :
  • 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 !!

écrit par David Lopes Ferreira

15 commentaires à “Wget et ses options”

  1. Colin2mars Dit:

    Merci pour ce tuto.

  2. fpy Dit:

    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.

  3. Kévin Dit:

    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

  4. WeedFa$t.Corp Dit:

    les commandes sont à taper dans un terminal… Menu Applications -> Accessoires -> Terminal.

  5. Kévin Dit:

    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.

  6. Sun Location vacances Dit:

    Je ne comprend pas comment on peu faire pour que wget écrase les anciens fichiers …

  7. WeedFa$t.Corp Dit:

    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.

  8. Jeremy Dit:

    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!

  9. WeedFast Dit:

    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 ;)

  10. Jeremy Dit:

    Merci pour ton suivi ;)
    Je vais tenter de chercher, mais etant débutant, j’ai pas fini !!
    Merci pour ton aide!

  11. roland Dit:

    c’est extrèmement malcommode, et en plus il n’y a rien qui fonctionne

  12. David Lopes Ferreira Dit:

    @roland : Peut être que wget n’est pas l’application que tu recherches…

  13. Le petit Marocain Dit:

    Salut. Est il possible d’envoyer des requêtes HTTP (Get, Post etc) avec Wget ? Merci :-)

  14. amandine Dit:

    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)

  15. BERNELIN Cindy Dit:

    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

Laisser une Réponse