Télécharger des données avec curl

Traitement des données en ligne de commande

Susan Sun

Data Person

Qu'est-ce que curl ?

curl :

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

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 instructions complètes, voir https://curl.haxx.se/download.html.

Traitement des données en ligne de commande

Parcourir le manuel de curl

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

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

Traitement des données en ligne de commande

Parcourir le manuel de curl

Appuyez sur Entrée pour faire défiler.

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

Appuyez sur q pour quitter.

Traitement des données en ligne de commande

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 ligne de commande

Télécharger un fichier unique

Exemple :

Un fichier unique est stocké à :

https://websitename.com/datafilename.txt

Utilisez l'option facultative -O pour enregistrer le fichier sous son nom d'origine :

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

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

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

Télécharger plusieurs fichiers avec le Globbing Parser

En reprenant l'exemple précédent :

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

Avec le Globbing Parser

La commande suivante téléchargera chaque fichier, de datafilename001.txt à datafilename100.txt.

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

Télécharger plusieurs fichiers avec le Globbing Parser

En reprenant l'exemple précédent :

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

Avec le Globbing Parser

Parcourez les fichiers et téléchargez-en un sur N (p. ex. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

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

Anticiper les problèmes

curl propose deux options très utiles en cas de dépassement de délai pendant un téléchargement :

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

  • -C Reprend un transfert interrompu avant la fin.

En combinant tout :

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Toutes les options précèdent l'URL
  • L'ordre des options n'a pas d'importance (par ex. -L -C -O)
Traitement des données en ligne de commande

Bon curl !

Traitement des données en ligne de commande

Preparing Video For Download...