Главная

О кафедре

История

События

Методические материалы

Книги

Электронные
книги


Источники
и  пособия


Библейское обозрение

Рекомендуемые
программы


Ссылки

Обновления
сайта


Написать
письмо

wget - ПОВЕЛИТЕЛЬ ЗАКАЧЕК
(ЗАГРУЗКА ФАЙЛОВ И САЙТОВ ИЗ ИНТЕРНЕТА В GNU/LINUX)

О любви wget так много песен спето,
Я спою, тебе спою, ещё одну...


Романс из к/ф "Три друга"

Задача: хочется Teleport Pro и FlashGet для Линукс, качать сайты и файлы.

Решение: откройте для себя wget - это всё в одном флаконе и даже больше.

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

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

Стоит сказать, что 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. Например: рисунки, звук и каскадные стили. После завершения загрузки конвертирует ссылки в документе для просмотра в автономном режиме. Это касается не только видимых ссылок на другие документы, а ссылок на все внешние локальные файлы.

siteget - простой скрипт для скачивания сайтов

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

Загрузить скрипт можно отсюда. После закачки на компьютер имеет смысл скопировать его в режиме суперпользователя в одну из директорий, прописанных в переменной $PATH: операционная система автоматически просматривает их в поисках исполняемых файлов. Например, в директорию /user/local/bin:

# cp {директория, где находится скрипт}/siteget  /user/local/bin/siteget
 

Скрипту также необходимо присвоить атрибут исполняемого файла:

# chmod a+x /usr/local/bin/siteget

Использование siteget очень простое:

$ siteget http://www.vasyapupkin.com/

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


Михаил Конник

Опубликовано с ведома и согласия автора
(в редакции сайта KБ МДА)
Первоначально размещено в блоге автора "Записки дебианщика"
по адресу: http://mydebianblog.blogspot.com/2007/09/wget.html


© Кафедра библеистики МДА, 2008.
Последнее обновление:
Адрес в интернете: http://www.bible-mda.ru/soft/wget/wget.html

Рейтинг@Mail.ru ЧИСТЫЙ ИНТЕРНЕТ - logoSlovo.RU