Это старая версия документа.
wget
— текстовая программа для скачивания файлов.
Если возможностей wget не хватает, то можно использовать curl.
Примеры
Просто скачать файл wget-ом:
wget ftp://vasya.pupkin.com/film.avi
Для продолжения оборвавшейся закачки пишем:
wget -c ftp://vasya.pupkin.com/film.avi
или
wget --continue ftp://vasya.pupkin.com/film.avi
Как и в других программах, ключи имеют короткую и длинную формы, и вместо -с
можно написать -continue
. Длинные ключи проще запомнить, но дольше писать. Можно легко смешивать различные формы написания.
Чтобы выкачать файлы из списка, содержащего прямые ссылки:
wget -i pupkinlist.txt
или
wget --input-file=pupkinlist.txt
Здесь указывается только файл, в котором содержатся ссылки. Файл может так же быть HTML-страницей, в которой есть ссылки. Они будут выкачаны указанной выше командой.
Использование а-ля «Teleport Pro for Linux».
При скачивании веб-сайтов возможностей больше, и поэтому требуется больше ключей. Опять-таки, запоминать их все не обязательно, можно сделать скрипт (а лучше несколько - под разные случаи) и вызывать их.
Так вот, если имеется веб-сайт, и хотелось бы иметь его локальную копию на компьютере, чтобы, отключившись от сети, можно было не торопясь его почитать.
Зеркалирование сайтов на локальную машину:
wget -m http://www.vasyapupkin.com/
-m
эквивалентно -r -N -l inf -nr
, эти опции описаны ниже.
При этом ссылки останутся абсолютными - то есть, будут указывать на Интернет-адреса, и удобно просматривать на локальной машине будет затруднительно.
Копирование сайта для локального просмотра (с заменой интернет-ссылок на локальные адреса скачанных страниц):
wget -r -l0 -k http://www.vasyapupkin.com/
При этом будет включена рекурсивная выгрузка (ключ -r, –recursive),
Опции
В wget имеется большое количество полезных опций - побольше, чем у Teleport'а флажков. Будучи завёрнутым в скрипт, например, teleport
и положенным на видное место (указанное в PATH
), имеем удобство применения и богатство настроек.
-np
, –no-parent
— не подниматься выше начального адреса при рекурсивной загрузке.
-r
, –recursive
— включить рекурсивный просмотр каталогов и подкаталогов на удал©нном сервере.
-l <depth>
, –level=<depth>
— определить максимальную глубину рекурсии равной depth при просмотре каталогов на удал©нном сервере. По умолчанию depth=5.
-np
, –no-parent
— не переходить в родительский каталог во время поиска файлов. Это очень полезное свойство, поскольку оно гарантирует, что будут копироваться только те файлы, которые расположены ниже определённой иерархии.
-A <acclist>
, –accept <acclist>
, -R <rejlist>
, –reject <rejlist>
— список имен файлов, разделенных запятыми, которые следует (accept) или не следует (reject) загружать. Разрешается задание имен файлов по маске.
-k
, –convert-links
— превратить абсолютные ссылки в HTML документе в относительные ссылки. Преобразованию подвергнутся только те ссылки, которые указывают на реально загруженные страницы; остальные не будут преобразовываться. Заметим, что лишь в конце работы wget сможет узнать какие страницы были реально загружены. Следовательно, лишь в конце работы wget будет выполняться окончательное преобразование.
–http-user=<user>
, –http-passwd=<password>
— указать имя пользователя и пароль на HTTP-сервере.
-H
, –span-hosts
— разрешает посещать любые сервера, на которые есть ссылка.
-p
, –page-requisites
— загружать все файлы, которые нужны для отображения страниц HTML. Например: рисунки, звук, каскадные стили (CSS). По умолчанию такие файлы не загружаются. Параметры -r
и -l
, указанные вместе могут помочь, но т.к. wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.
Ссылки
- Руководство по работе с wget — статья на форуме
- man wget — документация на русском языке
- Программа wget — простое описание возможностей