00m.Ru
4Мар/130

wget для начинающих

Часто ищут прежде всего множество графических программ с несколькими кнопками - но есть одна утилита, способная заменить их и предоставляющая возможности, которых больше нигде нет. Этоwget и всё, что на нём основано. Освоение этой утилиты требует некоторых усилий и хотя бы беглого прочтения руководства, но взамен вы получаете мощную утилиту, которая будет экономить ваше время и трафик. Кстати, есть wget для windows, так что wget можно пользоваться не только в nix-системах.

Стоит сказать, что man wget при первом взгляде производит сокрушительное впечатление, однако потом понимаешь, что далеко не все опции нужны при повседневном использовании. Ниже приводятся наиболее часто используемые мною опции.

Использование а-ля "FlashGet for Linux"
Нужно просто скачать файл и/или продолжить закачку, которая оборвалась. Это очень и очень легко сделать, написав в терминале несколько строчек.

Просто скачать файл 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
или
wget -input-file=pupkinlist

Здесь указывается только файл, в котором содержатся ссылки. Файл может так же быть HTML-страницей, в которой есть ссылки. Они будут выкачаны указанной выше командой.


Использование а-ля "Teleport Pro for Linux"
При скачивании веб-сайтов возможностей больше, и поэтому требуется больше ключей. Опять-таки, запоминать их все не обязательно, можно сделать скрипт (а лучше несколько - под разные случаи) и вызывать их.
Так вот, если имеется веб-сайт, и хотелось бы иметь его локальную копию на компьютере, чтобы, отключившись от сети, можно было не торопясь его почитать.

Зеркалирование сайтов на локальную машину:

wget -m http://www.vasyapupkin.com/

Замечу, что при этом ссылки останутся абсолютными - то есть, будут указывать на Интернет-адреса, и удобно просматривать на локальной машине будет затруднительно.

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

wget -r -l0 -np -k http://www.vasyapupkin.com/

При этом будет включена рекурсивная выгрузка (ключ -r, --recursive), то есть не только файлы с главной страницы, но и все остальные, на которые ведут ссылки (ключ -l0 бесконечная вложенность ссылок). Имена ссылок будут переконвертированы в локальные для удобства просмотра (ключ -k). Так же при помощи ключа -np (no-parrent) можно запретить wget подниматься выше начального адреса при рекурсивной загрузке, то есть если вы копируете http://home.vasyapupkin.com/ то по ссылкам с основного сайта http://www.vasyapupkin.com/ скопированы не будут.

И несколько других полезных ключей
Включение и исключение файлов при загрузке

-A acclist | -accept acclist
-R rejlist | -reject rejlist

Задаёт разделяемые запятыми шаблоны имён файлов, которые следует загружать (acclist) или игнорировать (rejlist).

 

-k | -convert-links

Превращает абсолютные ссылки (типа http://www...) в относительные (типа file///home/vasya/www/index.html) для удобства локального просмотра. Чтобы локально в броузере просмотреть скачанный сайт, открываете файл index.html в броузере и бродите по ссылкам точно так же, как если бы вы были подключены к Интернету.

 

-H --span-hosts

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

-p --page-requisites

Загружать все файлы, которые нужны для отображения страниц HTML. Например: рисунки, звук и каскадные стили. После завершения загрузки конвертировать ссылки в документе для просмотра в автономном режиме. Это касается не только видимых ссылок на другие документы, а ссылок на все внешние локальные файлы.

 

Ограничение канала загрузки –limit-rate=значение в кб. Например:

wget --limit-rate=50k http://www.... 

Это приведет к тому, что скорость загрузки не будет превышать указанных в примере пятидесяти килобайт/сек.

Siteget - простой скрипт для скачивания сайтов
Если вам надоели все эти премудрости с ключами wget и нужно просто скачать сайт, то siteget вам определённо понравится. Это довольно простой скрипт с необходимыми параметрами для загрузки сайта.
Взять скрипт можно тут, использование очень простое:

siteget http://www.vasyapupkin.com/

Большое спасибо за ссылку jetxee, который писал об этом здесь.

Ссылки:
Их очень много. Вот здесь лежит простое описание возможностей wget, здесь часть ключей с интересными комментариями. Что-то взято отсюда и отсюда. Ну и конечно это не отменяет прочтение руководства man wget, в том числе на русском

Метки записи: Нет комментариев