Гид по технологиям

Wget: установка и использование в Windows и macOS

9 min read Инструменты Обновлено 05 Oct 2025
Wget: установка и использование в Windows и macOS
Wget: установка и использование в Windows и macOS

Изображение рабочего стола Windows 10 с открытой командной строкой

Ошибка

Коротко: что такое wget

Wget — это консольная утилита для загрузки контента по сетевым протоколам HTTP, HTTPS и FTP. Простая строка: wget скачивает файлы без графического интерфейса — удобно для скриптов и автоматизации. (Определение: wget — командная программа для рекурсивной и одиночной загрузки файлов с веба.)

Важно: wget сам по себе уважает robots.txt, но поведение можно конфигурировать; при зеркалировании сайтов действуйте этично, снижайте нагрузку на сервер и соблюдайте правила сайта.

Оглавление

  • Что умеет wget
  • Установка и проверка (Windows, macOS, альтернативы)
  • Синтаксис и полезные примеры команд
  • Зеркальное копирование сайта: безопасный подход
  • Ограничение скорости и polite crawling
  • Отладка и план действий при проблемах
  • Рекомендации по безопасности
  • Роль‑ориентированные чеклисты
  • Критерии приёмки и тесты
  • FAQ
  • Краткое резюме

Что умеет wget и когда он полезен

  • Скачивать одиночные файлы и списки URL.
  • Рекурсивно зеркалировать сайты с подтягиванием ресурсов (CSS, JS, картинки).
  • Возобновлять прерванные загрузки (-c).
  • Менять заголовок User-Agent для симуляции запросов от браузеров или ботов.
  • Ограничивать скорость и паузы между запросами.
  • Работать в скриптах без GUI.

Когда использовать: автоматизация резервных копий фронтенда, скачивание sitemap/robots.txt, массовое скачивание файлов с контролем скорости, тестирование локального рендеринга страниц.

Установка wget

В этом разделе — практические инструкции и варианты для разных сценариев.

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

Откройте терминал и выполните:

wget -V

Если wget установлен, команда выведет версию и параметры сборки. Если терминал отвечает “command not found” или аналогично — утилита не найдена в PATH.

Установка на Windows

Вариант A — пакетный менеджер Chocolatey (рекомендуется для опытных пользователей):

  1. Установите Chocolatey по официальной инструкции (администраторская PowerShell).
  2. Установите wget:
choco install wget -y

Вариант B — пакетный менеджер Scoop:

iwr -useb get.scoop.sh | iex
scoop install wget

Вариант C — вручную (если вы скачали бинарный exe):

  1. Скачайте официальный бинарник для Windows (обычно в виде wget.exe).
  2. Создайте папку, например C:\tools\wget, и положите туда wget.exe.
  3. Добавьте папку в системную переменную PATH: Панель управления → Система → Дополнительные параметры → Переменные среды → Path → Изменить → Добавить C:\tools\wget.
  4. Откройте новый терминал и выполните wget -V для проверки.

Примечание: в старых инструкциях предлагают копировать в C:\Windows\System32; это работает, но помните про права и управление версиями — предпочтительнее держать исполняемые файлы в отдельной папке и управлять PATH.

Установка на macOS

Самый простой способ — Homebrew. Если Homebrew не установлен, установите его по официальной инструкции.

Установка wget через Homebrew:

brew update
brew install wget

Проверка:

wget -V

Альтернатива для macOS — MacPorts или установка из исходников, если нужны специфические опции.

Linux

На большинстве дистрибутивов wget уже предустановлен или доступен через пакетный менеджер:

  • Debian/Ubuntu: sudo apt install wget
  • CentOS/RHEL: sudo yum install wget
  • Fedora: sudo dnf install wget

(Эти команды — ориентир; используйте менеджер пакетов вашего дистрибутива.)

Синтаксис wget и базовые команды

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

wget [ОПЦИИ] URL

Где ОПЦИИ — ключи управления (короткие и длинные формы), а URL — адрес ресурса.

Примеры и объяснения.

Скачивание одного файла

wget https://example.com/robots.txt

Скачивание в конкретную папку

wget -P /путь/до/папки https://example.com/sitemap.xml

На Windows путь можно указать как C:\path\to\dir.

Переименование скачанного файла

wget -O moia-stranica.html https://example.com/file.html

-O перенаправляет вывод в указанный файл.

Определение User-Agent

Иногда нужно задать заголовок User-Agent:

wget --user-agent="Mozilla/5.0 (compatible; MyTool/1.0)" https://example.com/file.html

Имитация Googlebot

Будьте аккуратны: маскировка под бота может нарушать правила сайта. Технически это делается так:

wget --user-agent="Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/path

Загружать robots.txt только при изменении

Первое скачивание с подробной информацией о заголовках:

wget -S https://example.com/robots.txt

Затем получать обновления только если изменилось содержимое:

wget -N https://example.com/robots.txt

-N включает проверку временных меток и заголовков, чтобы избежать повторных загрузок без изменений.

Конвертировать ссылки для локального просмотра

Чтобы адаптировать ссылки для запуска страницы на локальном сервере:

wget --convert-links https://example.com/path

Скопировать одну страницу для локального просмотра

wget -E -H -k -K -p --convert-links https://example.com/path

Обозначения:

  • -E: корректировка расширений (сохранение .html)
  • -H: разрешить загружать ресурсы с других хостов
  • -k: конвертировать ссылки для локального просмотра
  • -K: резервная копия оригиналов
  • -p: загрузить все необходимые ресурсы страницы

Загрузка списка URL из файла

Создайте файл urls.txt с набором адресов (по одному URL на строку):

https://example.com/1
https://example.com/2
https://example.com/3

Запуск:

wget -i urls.txt

Ограничение скорости и паузы между запросами

Полезно при массовых загрузках, чтобы не перегружать сервер:

--wait=1          # пауза 1 секунда между запросами
--random-wait     # случайная пауза, чтобы имитировать человеческую активность
--limit-rate=10K  # ограничение скорости до 10 килобайт/с

Пример использования:

wget --wait=1 --limit-rate=10K -i urls.txt

Рекурсивное зеркалирование сайта (с осторожностью)

Для полного зеркалирования с контролем доменов и ограничением:

wget --recursive --page-requisites --adjust-extension --span-hosts --wait=1 --limit-rate=10K --convert-links --restrict-file-names=windows --no-clobber --domains=example.com --no-parent https://example.com

Коротко о ключах:

  • –recursive: рекурсивный режим (по умолчанию глубина 5)
  • –page-requisites: загрузить все ресурсы страницы
  • –adjust-extension: корректировать расширения (.html)
  • –span-hosts: разрешает переход на другие хосты для получения ресурсов
  • –no-clobber: не перезаписывать уже существующие файлы
  • –domains: ограничить скачивание указанным доменом
  • –no-parent: не подниматься выше указанного каталога

Этичный совет: перед зеркалированием проверьте robots.txt и свяжитесь с владельцем сайта при большой нагрузке.

Отладка: “wget: command not found” и другие ошибки

Пошаговый план действий, если wget не найден или работает неправильно:

  1. Проверьте установку: выполните wget -V.
  2. Если “command not found”: проверьте PATH. На Windows откройте системные переменные и убедитесь, что папка с wget.exe присутствует.
  3. Закройте и откройте терминал после изменения PATH (новые значения вступают в силу в новой сессии).
  4. Если ошибка связана с SSL: проверьте дату и время системы, если необходимо временно используйте –no-check-certificate (опасно) и затем исправьте корни доверия.
  5. При прерываниях загрузки используйте -c для продолжения:
wget -c https://example.com/bigfile.zip
  1. Логи и подробный вывод: добавьте -d или –debug для глубокой отладки, –report-speed=bits для измерения.

План восстановления при неудачном зеркалировании (runbook)

  1. Остановите текущий процесс wget (Ctrl+C).
  2. Оцените загруженные файлы и место на диске.
  3. Проверьте файл robots.txt и исключите запрещённые пути.
  4. Настройте –wait и –limit-rate для снижения нагрузки.
  5. Запустите загрузку заново с –no-clobber или с указанием –timestamping (-N), чтобы не перезагружать неизменённые файлы.
  6. При необходимости откатите изменения (удалите дефектный каталог и начните зеркалирование с контролем глубины).

Безопасность и приватность

  • Не используйте –no-check-certificate для обхода ошибок TLS в продуктиве: это ослабляет безопасность соединения.
  • Не храните пароли в явном виде в скриптах. Для FTP/HTTP с авторизацией используйте файл .netrc с корректными правами доступа.
  • По возможности используйте HTTPS и проверяйте сертификаты.
  • Не подменяйте User-Agent, если это нарушает правила сервиса.
  • Соблюдайте местные законы и политику конфиденциальности при скачивании персональных данных.

Роль‑ориентированные чеклисты

Разделённые на роли, чтобы быстро понять, что сделать.

Чеклист для разработчика:

  • Проверить наличие wget: wget -V
  • Автоматизировать скачивание в скрипте с -O или -P
  • Использовать -c для больших файлов
  • Добавить логирование и проверки контрольных сумм после скачивания

Чеклист для системного администратора:

  • Установить wget через пакетный менеджер и следить за обновлениями
  • Ограничить параллельные процессы, чтобы не загружать сеть
  • Настроить доступные места хранения и ротацию логов
  • Проверять SSL и политики безопасности

Чеклист для SEO-специалиста / скрепера:

  • Уважать robots.txt и правила сайта
  • Ограничить скорость и добавить –wait/–random-wait
  • Логировать User-Agent и цель запросов
  • Использовать –mirror или набор ключей для корректного локального просмотра

Критерии приёмки и тесты

Примерный набор приёмочных тестов перед тем, как считать установку/конфигурацию приемлемой:

  1. Установка: wget -V возвращает версию (PASS/FAIL).
  2. Одиночная загрузка: wget https://example.com/robots.txt создает файл robots.txt (PASS/FAIL).
  3. Продолжение загрузки: прервать загрузку большого файла, затем запустить wget -c — загрузка корректно продолжается.
  4. Скачивание списка: при наличии urls.txt выполнить wget -i urls.txt — все URL успешно скачаны или лог содержит понятные ошибки.
  5. SSL: для HTTPS URL wget завершает соединение без –no-check-certificate (если сертификат валиден).
  6. Mirror: выполнить зеркалирование ограниченного участка сайта с –no-parent — не загружаются файлы из родительских каталогов.

Совместимость и миграция

  • Windows: wget доступен как самостоятельный exe или через менеджеры пакетов (Chocolatey, Scoop).
  • macOS: Homebrew — самый удобный путь.
  • Linux: стандартные репозитории большинства дистрибутивов содержат wget.

При миграции между серверами перенесите конфигурационные скрипты и проверьте относительные пути и права доступа.

Быстрый справочник по опциям (cheat sheet)

  • -V, –version — версия
  • -O FILE — записать в FILE
  • -P DIR — сохранить в DIR
  • -i FILE — список URL
  • -c — продолжить загрузку
  • -r — рекурсивно
  • –limit-rate=RATE — ограничение скорости
  • –wait=SECONDS — пауза между запросами
  • –convert-links — адаптировать ссылки для локального просмотра
  • –no-check-certificate — отключить проверку SSL (не рекомендовано)

1‑строчный глоссарий

  • wget — утилита командной строки для загрузки файлов по HTTP/HTTPS/FTP.
  • HTTP/HTTPS — протоколы передачи гипертекста (HTTPS — с шифрованием).
  • FTP — старый протокол передачи файлов.
  • User-Agent — заголовок, идентифицирующий клиент (браузер/инструмент).
  • robots.txt — файл с правилами доступа для роботов на веб‑сервере.

Часто задаваемые вопросы

Почему появляется “wget: command not found” в Windows?

Чаще всего wget не установлен или папка с исполняемым файлом не добавлена в переменную окружения PATH. Проверьте установку (wget -V) и PATH. При ручной установке положите wget.exe в папку и добавьте её в PATH.

Что такое curl и чем он отличается от wget?

curl — ещё одна командная утилита для передачи данных, более гибкая для сложных HTTP-запросов и форм-данных; wget удобнее для простых загрузок и рекурсивного зеркалирования.

Можно ли использовать wget для автоматического сканирования большого сайта?

Можно, но соблюдайте правила сайта и robots.txt, лимитируйте скорость (–limit-rate) и интервалы (–wait), чтобы не создавать чрезмерную нагрузку.

Полезные рекомендации и лучшие практики

  • Всегда проверяйте robots.txt прежде чем выполнять массовую загрузку.
  • Используйте пакетные менеджеры для установки и обновления wget.
  • Не храните секреты в командной строке; применяйте файлы с ограниченными правами (например, .netrc).
  • Для сложных сценариев парсинга рассмотрите специализированные инструменты (scrapy, wget + grep + sed для простых случаев).

Резюме

Wget — надёжный инструмент для автоматизированных загрузок и зеркалирования сайтов. Простая установка в Windows и macOS, богатый набор ключей и режимов позволяют гибко настраивать поведение. Главные правила — безопасность (не отключать проверку сертификатов), уважение к ресурсам сайтов и логирование операций. Если появляется “wget: command not found”, обычно достаточно установить утилиту и добавить её в PATH.

Важно: используйте приведённые команды ответственно и проверяйте политику владельцев сайтов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как установить Yahoo Mail на Windows ПК
Почта

Как установить Yahoo Mail на Windows ПК

Как смотреть Howdy (Roku) на любом устройстве
Стриминг

Как смотреть Howdy (Roku) на любом устройстве

Как ускорить Wi‑Fi в самолёте: практические советы
Путешествия

Как ускорить Wi‑Fi в самолёте: практические советы

Атака man-in-the-prompt: защита от перехвата
Информационная безопасность

Атака man-in-the-prompt: защита от перехвата

Как защитить Gmail и что делать при взломе
Безопасность

Как защитить Gmail и что делать при взломе

Wget: установка и использование в Windows и macOS
Инструменты

Wget: установка и использование в Windows и macOS