Утилита wget (или команда wget) предназначена для скачивания файлов, веб страниц и других ресурсов из интернета. Рассмотрим основные возможности команды wget на примерах.
Синтаксис команды wget
Команда wget имеет следующий синтаксис:
В простейшем случае, чтобы скачать файл, достаточно указать URL-адрес:
wget https://domain.ru/filename.tar.bz2
Выполнив данную команду, вы скачаете файл filename.tar.bz2, расположенный по адресу https://domain.ru/filename.tar.bz2, который будет сохранен в текущую директорию.
Указание нового имени файла
Используя опцию -O можно задать название результирующего файла.
Например, если файл, который вы скачиваете, имеет имя filename-1.3.0-release-branch.tar, вы можете сохранить его с именем filename.tar:
wget -O filename.tar ftp://some.host.com/filename-1.3.0-release-branch.tar
Скачивание в фоновом режиме
Чтобы скачать файл в фоновом режиме используется опция -b:
wget -b http://host.com/file.zip
Скачивание нескольких файлов (по списку)
Команде wget можно передать текстовый файл, в котором на каждой строчке записаны URL-адреса, которые требуется скачать. Для этого используется опция -i:
wget -i list-of-files.txt
Скачивание файлов по ссылкам в HTML-документе
Команда wget поддерживает скачивание файлов по ссылкам в HTML-документе. То есть она автоматически находит все ссылки в HTML-файле и скачивает их:
wget --force-html -i file.html
Ограничение скорости скачивания
Чтобы ограничить скорость скачивания используется опция --limit-rate.
wget --limit-rate=500k http://some-site.com/filename.tar.gz
500k означает 500KB/s.
В качестве значения --limit-rate можно указывать скорость загрузки в следующих форматах:
- байтах в секунду — например: 300
- килобайтах в секунду — например: 10k
- мегабайтах в секунду- например: 10.5m
Продолжение загрузки
Чтобы продолжить прервавшуюся загрузку используется опция -c:
wget -c http://some-site.com/file.tar
Проверка существования файла
Перед тем, как скачать файл, можно проверить существует ли он. Например, это может потребоваться, когда вы скачиваете большое количество файлов и хотите заранее знать, все ли из них доступны. Для проверки доступности файлов используется опция --spider.
Например, чтобы проверить доступность файлов в списке можно использовать команду:
wget --spider -i list-of-files.txt
Также можно проверить доступен ли конкретный файл:
wget --spider http://site.com/filename.zip
При использовании опции --spider файлы не скачиваются, а только выполняется проверка.
Как скачать сайт
Инструкцию по скачиванию сайтов с помощью wget смотрите в отдельной статье: Скачиваем сайты целиком — утилита wget
Скачивание с FTP (указание логина и пароля)
Чтобы скачать файл с FTP-сервера, для которого требуется указание логина и пароля, используются опции --ftp-user и --ftp-password:
wget --ftp-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ --ftp-password=ПАРОЛЬ ftp://ftp.адрес.com/filename.tar
Скачивание с HTTP с указанием логина и пароля
Если для доступа к ресурсу по HTTP требуется указание имени пользователя и пароля, то для этого используются опции --http-user и --http-password:
wget --http-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ --http-password=ПАРОЛЬ http://ftp.адрес.com/filename.tar
Указание количества попыток
Если соединение нестабильное, то можно задать количество попыток, чтобы загрузка файла продолжалась в случае сбоя. Для указания количества попыток используется опция -t:
wget -t 10 http://site.com/filename.zip
По умолчанию установлено количество попыток — 20. Но если при попытке загрузки файла получена ошибка 404 (файл не найден) или connection refused, то скачивание прерывается.
Ожидание между загрузкой файлов
При скачивании большого количества файлов, слишком частое обращение к удаленному серверу с вашей стороны может расцениваться сервером как DDoS атака. Опция -w позволяет задать количество секунд, которое требуется ожидать перед загрузкой очередного файла.
wget -w 15 ...
Некоторые веб-сайты умеют распознавать автоматические запросы к сайту, которые происходят с заданной периодичностью. Поэтому даже использование опции -w не всегда помогает. В таких случаях можно воспользоваться дополнительной опцией --random-wait. При ее использовании ожидание перед загрузкой очередного файла составляет случайное количество секунд от 0.5*wait до 1.5*wait. Пример использования (ожидание будет в диапазоне от 15 до 45 секунд):
wget -w 30 --random-wait ...
Указание нескольких опций
В примерах выше мы использовали опции по отдельности. Можно использовать несколько опций в одной команде одновременно, например:
wget -w 50 --random-wait -t 15 --limit-rate=5m http://site.com/file.zip
Заключение
Мы рассмотрели только базовые возможности команды wget по скачиванию файлов. Полный список всех опций и их описание можно получить, выполнив в командной строке:
man wget
Комментарии
07:51
18:14
00:49
12:13
Вот порылся я Сети, но так и не нашёл способа скачать это:
doublecmd-gtk-1.0.0+svn***********************.x86_64.rpm
отсюда:
http://download.opensuse.org/repositories/home:/Alexx2000:/doublecmd-svn/openSUSE_Tumbleweed/x86_64/
...
А необходимо именно настроить маску так, чтобы скачивалась постоянно меняющаяся версия, по шаблону.
22:14