Télécharger des fichiers depuis Internet

LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire (lab), vous apprendrez à télécharger des fichiers depuis Internet en utilisant deux outils en ligne de commande courants : curl et wget. Ces outils sont essentiels pour récupérer des fichiers et des données à partir de serveurs web, ce qui en fait des compétences précieuses pour tout utilisateur ou développeur Linux.

curl est un outil polyvalent qui peut télécharger des fichiers à partir de divers protocoles et effectuer des requêtes HTTP. wget est un outil plus simple principalement utilisé pour télécharger des fichiers depuis des serveurs web. À la fin de ce laboratoire, vous serez à l'aise avec l'utilisation des deux outils pour télécharger des fichiers et effectuer des requêtes HTTP de base.

Téléchargement d'un fichier avec curl

Commençons par utiliser curl pour télécharger un simple fichier HTML depuis un site web.

  1. Ouvrez votre terminal.

  2. Accédez au répertoire du projet. Dans le terminal, tapez :

cd /home/labex/project

Cette commande change votre répertoire actuel en /home/labex/project. La commande cd signifie "change directory" (changer de répertoire).

  1. Maintenant, utilisons curl pour télécharger une page web. Tapez la commande suivante :
curl http://example.com -o example.html

Décortiquons cette commande :

  • curl est le nom du programme que nous utilisons
  • http://example.com est l'URL de la page web que nous téléchargeons
  • -o example.html indique à curl de sauvegarder le contenu téléchargé dans un fichier nommé example.html. L'option -o signifie "output" (sortie).
  1. Après avoir exécuté la commande, curl téléchargera le contenu et le sauvegardera sous le nom example.html dans votre répertoire actuel. Pour vérifier que le fichier a été téléchargé, nous pouvons lister le contenu du répertoire :
ls -l example.html

La commande ls liste les fichiers et les répertoires. L'option -l nous donne une liste détaillée (longue). Vous devriez voir example.html dans la sortie, ainsi que des informations sur sa taille et sa date de dernière modification.

Examen du fichier téléchargé

Maintenant que nous avons téléchargé le fichier, regardons son contenu.

  1. Pour afficher le contenu du fichier, nous utiliserons la commande cat. Tapez :
cat example.html

cat signifie "concatenate" (concaténer), mais elle est couramment utilisée pour afficher le contenu des fichiers. Vous devriez voir le contenu HTML de la page d'accueil de example.com. Cela peut sembler un amas de texte si vous n'êtes pas familier avec le HTML, mais ne vous inquiétez pas - c'est le code brut que les navigateurs web utilisent pour afficher les pages web.

  1. Parfois, les fichiers peuvent être très volumineux et nous pouvons seulement vouloir voir le début. Pour cela, nous pouvons utiliser la commande head :
head -n 10 example.html

Cette commande affiche les 10 premières lignes du fichier. L'option -n 10 indique à head d'afficher 10 lignes. Vous pouvez modifier ce nombre pour afficher plus ou moins de lignes.

  1. Pour voir la fin du fichier, vous pouvez utiliser la commande tail :
tail -n 10 example.html

Cela affiche les 10 dernières lignes du fichier.

Ces commandes sont utiles pour inspecter rapidement des fichiers sans les ouvrir entièrement, surtout lorsqu'il s'agit de fichiers volumineux.

Téléchargement de plusieurs fichiers avec curl

curl peut télécharger plusieurs fichiers en une seule commande. Essayons de télécharger deux fichiers à la fois.

  1. Tout d'abord, essayons de télécharger à la fois les pages d'accueil (index) et à propos (about) de example.com et d'afficher leur contenu :
curl http://example.com/index.html http://example.com/about.html

Cette commande affichera le contenu des deux pages dans votre terminal. Vous verrez deux documents HTML imprimés l'un après l'autre. Cela peut être utile pour des vérifications rapides, mais ce n'est pas idéal si vous voulez sauvegarder les fichiers.

  1. Pour sauvegarder ces fichiers au lieu de les afficher, nous utiliserons l'option -O. Le -O en majuscule indique à curl d'utiliser le nom de fichier de l'URL :
curl -O http://example.com/index.html -O http://example.com/about.html

Cette commande télécharge les deux fichiers et les sauvegarde avec leurs noms originaux (index.html et about.html) dans votre répertoire actuel. Vous ne verrez pas le contenu imprimé dans le terminal cette fois-ci.

  1. Pour vérifier que les fichiers ont été téléchargés, nous pouvons lister le contenu du répertoire :
ls -l index.html about.html

Vous devriez voir les deux fichiers listés, ainsi que leurs tailles et les dates de dernière modification.

  1. Si vous voulez télécharger plusieurs fichiers mais leur donner des noms personnalisés, vous pouvez utiliser plusieurs options -o :
curl -o custom_index.html http://example.com/index.html -o custom_about.html http://example.com/about.html

Cela sauvegardera les fichiers sous les noms custom_index.html et custom_about.html.

Utilisation de wget pour télécharger des fichiers

Maintenant, explorons wget, un autre outil populaire pour le téléchargement de fichiers. wget est souvent préféré pour sa simplicité et sa capacité à gérer les téléchargements volumineux ou les connexions instables.

  1. Commençons par utiliser wget pour télécharger un fichier depuis example.com :
wget http://example.com/index.html

wget affichera une barre de progression pendant le téléchargement du fichier. Cela est particulièrement utile pour les fichiers volumineux car vous pouvez voir combien du fichier a été téléchargé et combien de temps il pourrait prendre pour terminer.

  1. Par défaut, wget sauvegarde le fichier avec son nom original. Pour spécifier un nom différent, utilisez l'option -O (notez qu'il s'agit d'un O majuscule, contrairement à curl qui utilise un o minuscule) :
wget -O custom_name.html http://example.com/index.html

Cela sauvegardera le fichier sous le nom custom_name.html. La barre de progression s'affichera toujours, mais le fichier sera sauvegardé avec le nom que vous avez spécifié.

Téléchargement de fichiers dans un répertoire spécifique

Souvent, vous voudrez télécharger des fichiers dans un répertoire spécifique plutôt que dans votre répertoire de travail actuel. Tant curl que wget vous permettent de faire cela, mais ils utilisent des méthodes différentes.

  1. Tout d'abord, créons un nouveau répertoire pour télécharger nos fichiers :
mkdir downloads

Cela crée un nouveau répertoire nommé downloads à votre emplacement actuel.

  1. Maintenant, utilisons curl pour télécharger un fichier dans ce répertoire :
curl -o downloads/curl_file.html http://example.com

L'option -o dans curl nous permet de spécifier le fichier de sortie, y compris son chemin. Cette commande télécharge le contenu de example.com et le sauvegarde sous le nom curl_file.html dans le répertoire downloads.

  1. Ensuite, utilisons wget pour télécharger un fichier dans le même répertoire :
wget -P downloads http://example.com/index.html

L'option -P dans wget signifie "prefix" (préfixe) et nous permet de spécifier le répertoire où nous voulons sauvegarder le fichier. Cette commande télécharge index.html depuis example.com et le sauvegarde dans le répertoire downloads.

  1. Nous pouvons vérifier que les deux fichiers ont été téléchargés dans le répertoire downloads :
ls -l downloads

Vous devriez voir à la fois curl_file.html et index.html dans la sortie.

  1. Pour voir le contenu de ces fichiers sans changer de répertoire actuel, nous pouvons utiliser cat avec le chemin complet :
cat downloads/curl_file.html
cat downloads/index.html

Cela nous permet de vérifier le contenu des fichiers téléchargés.

Résumé

Félicitations! Vous avez réussi le laboratoire sur le téléchargement de fichiers depuis Internet en utilisant curl et wget. Récapitulons ce que vous avez appris :

  1. Vous avez utilisé curl pour télécharger des fichiers individuels et les sauvegarder avec des noms personnalisés.
  2. Vous avez exploré comment télécharger plusieurs fichiers avec une seule commande curl.
  3. Vous avez appris à utiliser wget pour télécharger des fichiers, avec des noms par défaut et personnalisés.
  4. Vous avez pratiqué le téléchargement récursif de fichiers avec wget.
  5. Vous avez appris à télécharger des fichiers dans un répertoire spécifique en utilisant à la fois curl et wget.

Ces compétences sont fondamentales pour de nombreuses tâches sous Linux, depuis la récupération de contenu web jusqu'au téléchargement de paquets logiciels. Au fur et à mesure de votre progression dans le monde de Linux, vous trouverez ces outils inestimables pour diverses tâches de script et d'automatisation.

N'oubliez pas que curl et wget ont de nombreuses autres options et capacités que vous pouvez explorer. N'hésitez pas à consulter leurs pages de manuel (man curl et man wget) pour en savoir plus sur leurs fonctionnalités avancées.

Continuez à pratiquer et à explorer ces outils pour devenir plus compétent dans la manipulation de fichiers et de contenu web sous Linux!