Scaricare dati con curl

Elaborazione dei dati in Shell

Susan Sun

Data Person

Che cos'è curl?

curl:

  • abbreviazione di Client for URLs
  • è uno strumento da riga di comando Unix
  • trasferisce dati da e verso un server
  • si usa per scaricare dati da siti HTTP(S) e server FTP
Elaborazione dei dati in Shell

Verificare l'installazione di curl

Verifica l'installazione di curl:

man curl

Se curl non è installato, vedrai:

curl command not found.

Per le istruzioni complete, vedi https://curl.haxx.se/download.html.

Elaborazione dei dati in Shell

Navigare il Manuale di curl

Se curl è installato, la console apparirà così:

Schermata dell'inizio del manuale di curl come in una finestra Terminale scura

Elaborazione dei dati in Shell

Navigare il Manuale di curl

Premi Enter per scorrere.

Schermata del manuale di curl parzialmente scorrelato come in una finestra Terminale scura

Premi q per uscire.

Elaborazione dei dati in Shell

Imparare la sintassi di curl

Sintassi base di curl:

curl [option flags] [URL]

L'URL è obbligatorio.

curl supporta anche HTTP, HTTPS, FTP e SFTP.

Per l'elenco completo delle opzioni:

curl --help
Elaborazione dei dati in Shell

Scaricare un singolo file

Esempio:

Un singolo file è disponibile su:

https://websitename.com/datafilename.txt

Usa il flag opzionale -O per salvare il file con il nome originale:

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

Per rinominare il file, usa -o minuscolo + nuovo nome:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Elaborazione dei dati in Shell

Scaricare più file con il Globbing Parser

Proseguendo con l'esempio:

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

Uso del Globbing Parser

Il seguente comando scarica ogni file in sequenza da datafilename001.txt a datafilename100.txt.

curl -O https://websitename.com/datafilename[001-100].txt
Elaborazione dei dati in Shell

Scaricare più file con il Globbing Parser

Proseguendo con l'esempio:

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

Uso del Globbing Parser

Incrementa tra i file e scarica ogni N-esimo file (es. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Elaborazione dei dati in Shell

Risoluzione preventiva dei problemi

curl ha due flag di opzione utili in caso di timeout durante il download:

  • -L Reindirizza l'URL HTTP se si verifica un errore 300.

  • -C Riprende un trasferimento interrotto per timeout.

Mettendo tutto insieme:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Tutte le opzioni vanno prima dell'URL
  • L'ordine non conta (es. -L -C -O va bene)
Elaborazione dei dati in Shell

Buon curl!

Elaborazione dei dati in Shell

Preparing Video For Download...