2025-08-01 10:07:51 +03:00
2025-08-01 10:04:26 +03:00
2025-06-13 17:52:13 +03:00
2025-06-13 17:52:13 +03:00
2025-08-01 10:04:26 +03:00
2025-08-01 10:07:51 +03:00

Image Downloader

Учебный проект - консольная утилита для скачивания изображений по URL-адресам.

Описание

Программа позволяет скачивать изображения из списка URL-адресов с поддержкой:

  • Параллельной загрузки (настраиваемое количество потоков)
  • Ограничения скорости загрузки (rate limiting)
  • Повторных попыток при ошибках
  • Автоматического определения расширения файла по Content-Type
  • Чтения URL-адресов из файла или stdin

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

go run main.go [OPTIONS] [input-file|-] <output-dir>

Параметры

  • -t duration - таймаут запроса (по умолчанию 60s)
  • -r int - количество попыток загрузки (по умолчанию 5)
  • -j int - количество параллельных загрузок (по умолчанию 5)
  • -rate float - максимальное количество загрузок в секунду (0 = без ограничений)

Примеры

# Скачать изображения из файла в папку images
go run main.go urls.txt images/

# Скачать из stdin с ограничением в 2 загрузки в секунду
cat urls.txt | go run main.go -rate 2 -j 3 - downloads/

Сборка

go build -o imgdownloader main.go

Зависимости

  • Go 1.24.3+
  • golang.org/x/time (для rate limiting)

Это учебный проект для изучения Go и работы с HTTP-клиентами.

Description
No description provided
Readme 44 KiB
Languages
Go 100%