wget L'utilitaire est la meilleure option pour télécharger des fichiers depuis Internet. wget peut à peu près gérer toutes les situations de téléchargement complexes, y compris les téléchargements de fichiers volumineux, les téléchargements récursifs, les téléchargements non interactifs, les téléchargements de fichiers multiples, etc.,
Dans cet article, voyons comment utiliser wget pour divers scénarios de téléchargement à l'aide de 15 exemples impressionnants de wget.
1. Télécharger un fichier unique avec wget
L'exemple suivant télécharge un seul fichier depuis Internet et le stocke dans le répertoire courant.
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Pendant le téléchargement, une barre de progression s'affichera avec les informations suivantes :
- % d'achèvement du téléchargement (par exemple, 31 %, comme indiqué ci-dessous)
- Nombre total d'octets téléchargés jusqu'à présent (par exemple, 1 213 592 octets, comme indiqué ci-dessous)
- Vitesse de téléchargement actuelle (par exemple, 68,2 K/s, comme indiqué ci-dessous)
- Temps restant pour télécharger (par exemple, eta 34 secondes, comme indiqué ci-dessous)
Téléchargement en cours :
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2.1' 31% [=================> 1,213,592 68.2K/s eta 34s
Téléchargement terminé :
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Saving to: `strx25-0.9.2.1.tar.bz2' 100%[======================>] 3,852,374 76.8K/s in 55s 2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]
2. Télécharger et stocker avec un nom de fichier différent à l'aide de wget -O
Par défaut, wget choisira le nom de fichier à partir du dernier mot après la dernière barre oblique, ce qui peut ne pas toujours être approprié.
Mauvais : L'exemple suivant téléchargera et stockera le fichier avec le nom :download_script.php?src_id=7701
$ wget http://www.vim.org/scripts/download_script.php?src_id=7701
Même si le fichier téléchargé est au format zip, il sera stocké dans le fichier comme indiqué ci-dessous.
$ ls download_script.php?src_id=7701
Correct : Pour corriger ce problème, nous pouvons spécifier le nom du fichier de sortie à l'aide de l'option -O comme :
$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
3. Spécifiez la vitesse de téléchargement / le taux de téléchargement à l'aide de wget –limit-rate
Lors de l'exécution du wget, il essaiera par défaut d'occuper toute la bande passante possible. Cela peut ne pas être acceptable lorsque vous téléchargez des fichiers volumineux sur des serveurs de production. Donc, pour éviter cela, nous pouvons limiter la vitesse de téléchargement en utilisant le -limit-rate comme indiqué ci-dessous.
Dans l'exemple suivant, la vitesse de téléchargement est limitée à 200k
$ wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
4. Continuez le téléchargement incomplet en utilisant wget -c
Redémarrez un téléchargement qui s'est arrêté au milieu en utilisant l'option wget -c comme indiqué ci-dessous.
$ wget -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Ceci est très utile lorsque vous avez lancé un très gros téléchargement de fichier qui a été interrompu au milieu. Au lieu de recommencer tout le téléchargement, vous pouvez recommencer le téléchargement là où il a été interrompu en utilisant l'option -c
Remarque : Si un téléchargement est arrêté au milieu, lorsque vous redémarrez le téléchargement sans l'option -c, wget ajoutera automatiquement .1 au nom de fichier car un fichier avec le nom précédent existe déjà. Si un fichier avec .1 existe déjà, il téléchargera le fichier avec .2 à la fin.
5. Télécharger en arrière-plan avec wget -b
Pour un téléchargement volumineux, mettez le téléchargement en arrière-plan en utilisant l'option wget -b comme indiqué ci-dessous.
$ wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 Continuing in background, pid 1984. Output will be written to `wget-log'.
Il lancera le téléchargement et vous renverra l'invite du shell. Vous pouvez toujours vérifier l'état du téléchargement en utilisant tail -f comme indiqué ci-dessous.
$ tail -f wget-log Saving to: `strx25-0.9.2.1.tar.bz2.4' 0K .......... .......... .......... .......... .......... 1% 65.5K 57s 50K .......... .......... .......... .......... .......... 2% 85.9K 49s 100K .......... .......... .......... .......... .......... 3% 83.3K 47s 150K .......... .......... .......... .......... .......... 5% 86.6K 45s 200K .......... .......... .......... .......... .......... 6% 33.9K 56s 250K .......... .......... .......... .......... .......... 7% 182M 46s 300K .......... .......... .......... .......... .......... 9% 57.9K 47s
Assurez-vous également de consulter notre précédent article multitail sur la façon d'utiliser efficacement la commande tail pour afficher plusieurs fichiers.
6. Masquer l'agent utilisateur et afficher wget comme un navigateur à l'aide de wget –user-agent
Certains sites Web peuvent vous interdire de télécharger sa page en identifiant que l'agent utilisateur n'est pas un navigateur. Vous pouvez donc masquer l'agent utilisateur en utilisant les options –user-agent et afficher wget comme un navigateur, comme indiqué ci-dessous.
$ wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD
7. Tester l'URL de téléchargement avec wget –spider
Lorsque vous allez effectuer un téléchargement programmé, vous devez vérifier si le téléchargement se déroulera correctement ou non à l'heure prévue. Pour ce faire, copiez la ligne exactement à partir du planning, puis ajoutez l'option –spider à vérifier.
$ wget --spider DOWNLOAD-URL
Si l'URL donnée est correcte, elle indiquera
$ wget --spider download-url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled -- not retrieving.
Cela garantit que le téléchargement réussira à l'heure prévue. Mais lorsque vous avez donné une mauvaise URL, vous obtenez l'erreur suivante.
$ wget --spider download-url Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response... 404 Not Found Remote file does not exist -- broken link!!!
Vous pouvez utiliser l'option spider dans les scénarios suivants :
- Vérifier avant de programmer un téléchargement.
- Surveiller si un site Web est disponible ou non à certains intervalles.
- Consultez une liste de pages de votre signet et découvrez quelles pages existent toujours.
8. Augmenter le nombre total de nouvelles tentatives à l'aide de wget –tries
Si la connexion Internet a un problème et si le fichier de téléchargement est volumineux, il y a un risque d'échec du téléchargement. Par défaut, wget tente 20 fois de réussir le téléchargement.
Si nécessaire, vous pouvez augmenter le nombre de nouvelles tentatives à l'aide de l'option –tries, comme indiqué ci-dessous.
$ wget --tries=75 DOWNLOAD-URL
9. Télécharger plusieurs fichiers/URL à l'aide de Wget -i
Tout d'abord, stockez tous les fichiers ou URL de téléchargement dans un fichier texte sous :
$ cat > download-file-list.txt URL1 URL2 URL3 URL4
Ensuite, donnez download-file-list.txt comme argument à wget en utilisant l'option -i comme indiqué ci-dessous.
$ wget -i download-file-list.txt
10. Télécharger un site Web complet à l'aide de wget –mirror
Voici la ligne de commande que vous souhaitez exécuter lorsque vous souhaitez télécharger un site Web complet et le rendre disponible pour une visualisation locale.
$ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
- –mirror :active les options adaptées à la mise en miroir.
- -p :télécharge tous les fichiers nécessaires au bon affichage d'une page HTML donnée.
- –convert-links :après le téléchargement, convertit les liens dans le document pour une visualisation locale.
- -P ./LOCAL-DIR :enregistre tous les fichiers et répertoires dans le répertoire spécifié.
11. Rejeter certains types de fichiers lors du téléchargement à l'aide de wget –reject
Vous avez trouvé un site Web utile, mais vous ne souhaitez pas télécharger les images, vous pouvez spécifier ce qui suit.
$ wget --reject=gif WEBSITE-TO-BE-DOWNLOADED
12. Consigner les messages dans un fichier journal au lieu de stderr Utilisation de wget -o
Lorsque vous vouliez que le journal soit redirigé vers un fichier journal au lieu du terminal.
$ wget -o download.log DOWNLOAD-URL
13. Arrêtez le téléchargement lorsqu'il dépasse une certaine taille à l'aide de wget -Q
Lorsque vous souhaitez arrêter le téléchargement lorsqu'il dépasse 5 Mo, vous pouvez utiliser la ligne de commande wget suivante.
$ wget -Q5m -i FILE-WHICH-HAS-URLS
Remarque : Ce quota n'aura pas d'effet lorsque vous téléchargerez une seule URL. Quelle que soit la taille du quota, tout sera téléchargé lorsque vous spécifiez un seul fichier. Ce quota s'applique uniquement aux téléchargements récursifs.
14. Télécharger uniquement certains types de fichiers à l'aide de wget -r -A
Vous pouvez l'utiliser dans les situations suivantes :
- Télécharger toutes les images d'un site Web
- Télécharger toutes les vidéos d'un site Web
- Télécharger tous les fichiers PDF à partir d'un site Web
$ wget -r -A.pdf http://url-to-webpage-with-pdfs/
15. Téléchargement FTP avec wget
Vous pouvez utiliser wget pour effectuer un téléchargement FTP comme indiqué ci-dessous.
Téléchargement FTP anonyme avec Wget
$ wget ftp-url
Téléchargement FTP en utilisant wget avec authentification par nom d'utilisateur et mot de passe.
$ wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL
Si vous avez aimé cet article, veuillez l'ajouter à vos favoris avec Delicious ou Stumble.