Загрузка данных с помощью curl

Обработка данных в командной строке

Susan Sun

Data Person

Что такое curl?

curl:

  • расшифровывается как Client for URLs
  • инструмент командной строки Unix
  • передаёт данные на сервер и получает их с сервера
  • используется для загрузки данных с HTTP(S)-сайтов и FTP-серверов
Обработка данных в командной строке

Проверка установки curl

Проверьте установку curl:

man curl

Если curl не установлен, вы увидите:

curl command not found.

Полные инструкции по установке: https://curl.haxx.se/download.html.

Обработка данных в командной строке

Просмотр руководства curl

Если curl установлен, консоль будет выглядеть так:

Скриншот начала руководства curl в тёмном окне терминала

Обработка данных в командной строке

Просмотр руководства curl

Нажмите Enter для прокрутки.

Скриншот частично прокрученного руководства curl в тёмном окне терминала

Нажмите q для выхода.

Обработка данных в командной строке

Синтаксис curl

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

curl [option flags] [URL]

URL обязателен.

curl поддерживает HTTP, HTTPS, FTP и SFTP.

Полный список доступных параметров:

curl --help
Обработка данных в командной строке

Загрузка одного файла

Пример:

Файл хранится по адресу:

https://websitename.com/datafilename.txt

Флаг -O сохраняет файл с исходным именем:

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

Чтобы переименовать файл, используйте флаг -o + новое имя:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Обработка данных в командной строке

Загрузка нескольких файлов с помощью Globbing Parser

Продолжим предыдущий пример:

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

Использование Globbing Parser

Следующая команда последовательно загрузит все файлы — от datafilename001.txt до datafilename100.txt.

curl -O https://websitename.com/datafilename[001-100].txt
Обработка данных в командной строке

Загрузка нескольких файлов с помощью Globbing Parser

Продолжим предыдущий пример:

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

Использование Globbing Parser

Загружайте каждый N-й файл (например, datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Обработка данных в командной строке

Устранение возможных проблем

curl предлагает два полезных флага на случай прерывания загрузки:

  • -L Перенаправляет HTTP-запрос при получении кода ошибки 300.

  • -C Возобновляет прерванную загрузку файла.

Используя все флаги вместе:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Все флаги указываются перед URL
  • Порядок флагов не важен (например, -L -C -O тоже допустимо)
Обработка данных в командной строке

Удачной работы с curl!

Обработка данных в командной строке

Preparing Video For Download...