Daten mit curl herunterladen

Datenverarbeitung in der Shell

Susan Sun

Data Person

Was ist curl?

curl:

  • steht für Client for URLs
  • ist ein Unix-Kommandozeilentool
  • überträgt Daten zu und von einem Server
  • lädt Daten von HTTP(S)-Sites und FTP-Servern herunter
Datenverarbeitung in der Shell

curl-Installation prüfen

curl-Installation prüfen:

man curl

Wenn curl nicht installiert ist, siehst du:

curl command not found.

Ausführliche Anweisungen: https://curl.haxx.se/download.html.

Datenverarbeitung in der Shell

Im curl-Handbuch blättern

Wenn curl installiert ist, sieht deine Konsole so aus:

Screenshot des Anfangs des curl-Handbuchs, wie in einem dunklen Terminalfenster angezeigt

Datenverarbeitung in der Shell

Im curl-Handbuch blättern

Drücke Enter zum Scrollen.

Screenshot eines teilweise gescrollten curl-Handbuchs, wie in einem dunklen Terminalfenster angezeigt

Drücke q zum Beenden.

Datenverarbeitung in der Shell

curl-Syntax lernen

Grundsyntax von curl:

curl [option flags] [URL]

URL ist erforderlich.

curl unterstützt auch HTTP, HTTPS, FTP und SFTP.

Für eine vollständige Liste der Optionen:

curl --help
Datenverarbeitung in der Shell

Eine einzelne Datei herunterladen

Beispiel:

Eine einzelne Datei liegt unter:

https://websitename.com/datafilename.txt

Verwende das optionale Flag -O, um die Datei unter ihrem Originalnamen zu speichern:

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

Um die Datei umzubenennen, nutze kleingeschriebenes -o + neuer Dateiname:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Datenverarbeitung in der Shell

Mehrere Dateien mit Globbing Parser herunterladen

Weiter mit dem vorherigen Beispiel:

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

Globbing Parser verwenden

Damit lädst du alle Dateien der Reihe nach herunter, beginnend mit datafilename001.txt bis datafilename100.txt.

curl -O https://websitename.com/datafilename[001-100].txt
Datenverarbeitung in der Shell

Mehrere Dateien mit Globbing Parser herunterladen

Weiter mit dem vorherigen Beispiel:

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

Globbing Parser verwenden

Durchlaufe die Dateien und lade jede n-te Datei (z. B. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Datenverarbeitung in der Shell

Vorausschauende Fehlerbehebung

curl hat zwei besonders nützliche Options-Flags für Timeouts beim Download:

  • -L leitet die HTTP-URL weiter, wenn ein 300er-Fehlercode auftritt.

  • -C setzt einen abgebrochenen Transfer fort, wenn er vor Abschluss timeoutet.

Alles kombiniert:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Alle Flags stehen vor der URL
  • Die Reihenfolge der Flags ist egal (z. B. -L -C -O ist ok)
Datenverarbeitung in der Shell

Viel Spaß mit curl!

Datenverarbeitung in der Shell

Preparing Video For Download...