Télécharger des données avec curl

Traitement des données en Shell

Susan Sun

Data Person

Qu'est-ce que curl ?

curl :

  • abréviation de Client for URLs
  • outil Unix en ligne de commande
  • transfère des données vers et depuis un serveur
  • sert à télécharger des données de sites HTTP(S) et serveurs FTP
Traitement des données en Shell

Vérifier l'installation de curl

Vérifier l'installation de curl :

man curl

Si curl n'est pas installé, vous verrez :

curl command not found.

Pour les directives complètes, voir https://curl.haxx.se/download.html.

Traitement des données en Shell

Parcourir le manuel de curl

Si curl est installé, votre console ressemblera à ceci :

Capture d'écran du début du manuel de curl affiché dans une fenêtre de Terminal sombre

Traitement des données en Shell

Parcourir le manuel de curl

Appuyez sur Enter pour défiler.

Capture d'écran d'un manuel curl partiellement défilé dans une fenêtre de Terminal sombre

Appuyez sur q pour quitter.

Traitement des données en Shell

Apprendre la syntaxe de curl

Syntaxe de base de curl :

curl [option flags] [URL]

L'URL est obligatoire.

curl prend aussi en charge HTTP, HTTPS, FTP et SFTP.

Pour la liste complète des options :

curl --help
Traitement des données en Shell

Télécharger un fichier unique

Exemple :

Un seul fichier est stocké à :

https://websitename.com/datafilename.txt

Utilisez l'indicateur facultatif -O pour enregistrer le fichier sous son nom d'origine :

curl -O https://websitename.com/datafilename.txt

Pour renommer le fichier, utilisez -o en minuscules + le nouveau nom :

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Traitement des données en Shell

Télécharger plusieurs fichiers avec des caractères génériques

Souvent, un serveur héberge plusieurs fichiers aux noms similaires :

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Utiliser les caractères génériques (*)

Télécharger tous les fichiers sur https://websitename.com/ qui commencent par datafilename et se terminent par .txt :

curl -O https://websitename.com/datafilename*.txt
Traitement des données en Shell

Télécharger plusieurs fichiers avec le globbing

En reprenant l'exemple précédent :

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Utiliser le « globbing »

Ce qui suit télécharge chaque fichier, de datafilename001.txt à datafilename100.txt, séquentiellement.

curl -O https://websitename.com/datafilename[001-100].txt
Traitement des données en Shell

Télécharger plusieurs fichiers avec le globbing

En reprenant l'exemple précédent :

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Utiliser le « globbing »

Parcourir les fichiers et télécharger chaque Nième fichier (p. ex. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Traitement des données en Shell

Dépannage préventif

curl offre deux indicateurs utiles en cas de dépassement de délai pendant un téléchargement :

  • -L Redirige l'URL HTTP si un code d'erreur 300 survient.

  • -C Reprend un transfert interrompu avant la fin.

En combinant tout :

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Tous les indicateurs précèdent l'URL
  • Leur ordre n'a pas d'importance (p. ex. -L -C -O)
Traitement des données en Shell

Bon « curl » !

Traitement des données en Shell

Preparing Video For Download...