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.

Vollständige Anleitung: 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 Beginns des curl-Handbuchs in einem dunklen Terminalfenster

Datenverarbeitung in der Shell

Im curl-Handbuch blättern

Drücke Enter zum Scrollen.

Screenshot eines teilweise gescrollten curl-Handbuchs in einem dunklen Terminalfenster

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 Optionsliste:

curl --help
Datenverarbeitung in der Shell

Eine einzelne Datei herunterladen

Beispiel:

Eine einzelne Datei liegt unter:

https://websitename.com/datafilename.txt

Nutze die optionale Flag -O, um mit Originalnamen zu speichern:

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

Zum Umbenennen verwende das kleine -o + neuen Dateinamen:

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

Mehrere Dateien mit Wildcards herunterladen

Oft hostet ein Server mehrere Dateien mit ähnlichen Namen:

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

Wildcards (*) verwenden

Lade jede Datei auf https://websitename.com/ herunter, die mit datafilename beginnt und auf .txt endet:

curl -O 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

Folgendes lädt alle Dateien der Reihe nach von 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

In Schritten durchgehen und jede n-te Datei laden (z. B. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

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

Proaktives Troubleshooting

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

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

  • -C setzt einen abgebrochenen Transfer fort.

Alles zusammen:

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

Viel Spaß mit curl!

Datenverarbeitung in der Shell

Preparing Video For Download...