Data downloaden met curl

Gegevens verwerken in de Shell

Susan Sun

Data Person

Wat is curl?

curl:

  • staat voor Client for URLs
  • is een Unix-opdrachtregeltool
  • verplaatst data van en naar een server
  • wordt gebruikt om data te downloaden van HTTP(S)-sites en FTP-servers
Gegevens verwerken in de Shell

curl-installatie controleren

Controleer of curl is geïnstalleerd:

man curl

Als curl niet is geïnstalleerd, zie je:

curl command not found.

Voor volledige instructies, zie https://curl.haxx.se/download.html.

Gegevens verwerken in de Shell

De curl-handleiding bekijken

Als curl is geïnstalleerd, ziet je console er zo uit:

Screenshot van het begin van de curl-handleiding alsof afgedrukt in een donker Terminal-venster

Gegevens verwerken in de Shell

De curl-handleiding bekijken

Druk op Enter om te scrollen.

Screenshot van een deels gescrolde curl-handleiding alsof afgedrukt in een donker Terminal-venster

Druk op q om af te sluiten.

Gegevens verwerken in de Shell

curl-syntaxis leren

Basis-syntaxis van curl:

curl [option flags] [URL]

URL is verplicht.

curl ondersteunt ook HTTP, HTTPS, FTP en SFTP.

Voor een volledige lijst met opties:

curl --help
Gegevens verwerken in de Shell

Eén bestand downloaden

Voorbeeld:

Eén bestand staat op:

https://websitename.com/datafilename.txt

Gebruik de optionele vlag -O om het bestand onder de oorspronkelijke naam op te slaan:

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

Om het bestand te hernoemen, gebruik je kleine -o + nieuwe bestandsnaam:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Gegevens verwerken in de Shell

Meerdere bestanden downloaden met Globbing Parser

Verder met het vorige voorbeeld:

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

Globbing Parser gebruiken

Het volgende downloadt alle bestanden op volgorde van datafilename001.txt tot en met datafilename100.txt.

curl -O https://websitename.com/datafilename[001-100].txt
Gegevens verwerken in de Shell

Meerdere bestanden downloaden met Globbing Parser

Verder met het vorige voorbeeld:

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

Globbing Parser gebruiken

Loop door de bestanden en download elk N-de bestand (bijv. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Gegevens verwerken in de Shell

Problemen vóór zijn

curl heeft twee handige optievlaggen bij time-outs tijdens downloaden:

  • -L Verwijst de HTTP-URL door bij een 300-foutcode.

  • -C Hervat een eerdere bestandsoverdracht als die voortijdig time-out.

Alles gecombineerd:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Alle optievlaggen komen vóór de URL
  • De volgorde van de vlaggen maakt niet uit (bijv. -L -C -O is prima)
Gegevens verwerken in de Shell

Veel curl-plezier!

Gegevens verwerken in de Shell

Preparing Video For Download...