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 не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.

Ссылки