Главная > Управление сетью > wget

wget: Загрузка и зеркалирование веб-контента

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

Обзор

wget работает в фоновом режиме и обеспечивает надежную загрузку, автоматически повторяя попытки в случае потери сетевого соединения. Он особенно полезен для зеркалирования веб-сайтов локально или для массовой загрузки определенных файлов.

Основные возможности

  • Неинтерактивная загрузка (возможность фонового выполнения)
  • Рекурсивная загрузка и зеркалирование веб-сайтов
  • Автоматические повторные попытки при потере сетевого соединения
  • Поддержка протоколов HTTP, HTTPS, FTP
  • Поддержка прокси и аутентификации

Основные опции

Различные опции wget позволяют детально контролировать способ загрузки, место сохранения, глубину рекурсии и многое другое.

Управление загрузкой

Сгенерированная команда:

Комбинируйте команды.

Описание:

`wget` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

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

Рассмотрим различные сценарии использования wget с помощью реальных команд.

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

wget https://example.com/archive.zip

Загружает файл по указанному URL.

Рекурсивное зеркалирование веб-сайта (с внешними ссылками)

wget -r -l inf -H -P ./my_mirror https://example.com

Рекурсивно загружает веб-сайт, следуя по ссылкам на внешние домены для получения файлов. Устанавливает бесконечную глубину рекурсии (-l inf) и сохраняет загруженные файлы в каталог 'my_mirror'.

Рекурсивное зеркалирование веб-сайта (без внешних ссылок, без перехода в родительские каталоги)

wget -r -np -P ./local_site https://example.com

Рекурсивно загружает веб-сайт, но не переходит на внешние домены и не переходит в родительские каталоги. Сохраняет в каталог 'local_site'.

Продолжить прерванную загрузку

wget -c https://example.com/large_file.iso

Продолжает загрузку ранее частично загруженного файла.

Сохранить все файлы в один каталог

wget -nd -P ./flat_downloads https://example.com/path/to/file1.txt https://example.com/another/file2.jpg

При загрузке не создает структуру каталогов, а сохраняет все файлы в указанный каталог.

Установка

wget предустановлен в большинстве дистрибутивов Linux. Если он не установлен, вы можете установить его с помощью следующих команд.

Debian/Ubuntu

sudo apt update && sudo apt install wget

Устанавливает wget с помощью пакетного менеджера APT.

CentOS/RHEL (yum)

sudo yum install wget

Устанавливает wget с помощью пакетного менеджера YUM.

Fedora/RHEL (dnf)

sudo dnf install wget

Устанавливает wget с помощью пакетного менеджера DNF.

Советы и предостережения

Полезные советы и моменты, на которые следует обратить внимание при использовании wget.

Основные советы

  • **Этичное использование**: При зеркалировании веб-сайтов будьте осторожны, чтобы не создавать чрезмерную нагрузку на сервер, и проверяйте файл robots.txt сайта, чтобы использовать его в пределах разрешенного.
  • **Настройка User-Agent**: Некоторые веб-сайты могут блокировать определенные User-Agent. Использование опции `-U` для установки User-Agent, похожего на браузер, может помочь избежать блокировки.
  • **Ограничение скорости загрузки**: Скорость загрузки можно ограничить с помощью опции `--limit-rate=AMOUNT`. (Например, `--limit-rate=200k` ограничивает скорость до 200 КБ/с).
  • **Фоновое выполнение**: Команда `nohup wget ... &` позволяет продолжить загрузку в фоновом режиме даже после закрытия терминала.
  • **Файл журнала**: Опция `-o LOGFILE` позволяет записывать ход загрузки и ошибки в определенный файл.
  • **Игнорировать robots.txt**: Опция `-e robots=off` позволяет игнорировать файл `robots.txt` веб-сайта и попытаться загрузить, но это может нарушать политику веб-сайта, поэтому используйте ее с осторожностью.

Те же команды в категории