Завантаження даних за допомогою curl

Опрацювання даних у Shell

Susan Sun

Data Person

Що таке curl?

curl:

  • скорочення від Client for URLs
  • це інструмент командного рядка Unix
  • передає дані на сервер і з нього
  • використовується для завантаження даних з сайтів HTTP(S) і серверів FTP
Опрацювання даних у Shell

Перевірка встановлення curl

Перевірте встановлення curl:

man curl

Якщо curl не встановлено, ви побачите:

curl command not found.

Повні інструкції: https://curl.haxx.se/download.html.

Опрацювання даних у Shell

Огляд довідника curl

Якщо curl встановлено, ваша консоль виглядатиме так:

Знімок початку керівництва curl у темному вікні Термінала

Опрацювання даних у Shell

Огляд довідника curl

Натискайте Enter, щоб гортати.

Знімок частково прокрученого керівництва curl у темному вікні Термінала

Натисніть q, щоб вийти.

Опрацювання даних у Shell

Вивчаємо синтаксис curl

Базовий синтаксис curl:

curl [option flags] [URL]

URL обов'язковий.

curl також підтримує HTTP, HTTPS, FTP і SFTP.

Щоб побачити повний список опцій:

curl --help
Опрацювання даних у Shell

Завантаження одного файлу

Приклад:

Один файл збережено за адресою:

https://websitename.com/datafilename.txt

Використайте необов'язковий прапорець -O, щоб зберегти файл з його оригінальною назвою:

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

Щоб перейменувати файл, використайте малу -o + нову назву:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Опрацювання даних у Shell

Завантаження кількох файлів із підстановками

Часто сервер розміщує багато файлів даних із подібними назвами:

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

Використання підстановок (*)

Завантажте кожен файл на https://websitename.com/, що починається з datafilename і закінчується на .txt:

curl -O https://websitename.com/datafilename*.txt
Опрацювання даних у Shell

Завантаження кількох файлів із парсером globbing

Продовжуючи попередній приклад:

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

Використання парсера globbing

Наведена команда послідовно завантажить усі файли від datafilename001.txt до datafilename100.txt.

curl -O https://websitename.com/datafilename[001-100].txt
Опрацювання даних у Shell

Завантаження кількох файлів із парсером globbing

Продовжуючи попередній приклад:

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

Використання парсера globbing

Ітеруйте по файлах і завантажуйте кожен N-й файл (напр., datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Опрацювання даних у Shell

Запобіжне усунення неполадок

curl має два особливо корисні прапорці на випадок тайм-аутів під час завантаження:

  • -L Перенаправляє HTTP URL, якщо стається код помилки 300.

  • -C Відновлює попередню передачу файлу, якщо її перервано до завершення.

Об'єднаємо все разом:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Усі прапорці вказуйте перед URL
  • Порядок прапорців не має значення (напр., -L -C -O також підходить)
Опрацювання даних у Shell

Успішного curl-інгу!

Опрацювання даних у Shell

Preparing Video For Download...