Это старая версия документа.
wget — текстовая программа для скачивания файлов.
Просто скачать файл 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/
Это эквивалентно -r -N -l inf -nr, поэтому напишу подробнее про эти опции.
Замечу, что при этом ссылки останутся абсолютными - то есть, будут указывать на Интернет-адреса, и удобно просматривать на локальной машине будет затруднительно.
Копирование сайта для локального просмотра: wget -r -l0 -k http://www.vasyapupkin.com/
При этом будет включена рекурсивная выгрузка (ключ -r, –recursive),
-np –no-parent
Не подниматься выше начального адреса при рекурсивной загрузке.
Для этого в wget имеется большое количество полезных опций - побольше, чем у телепорта флажков. Будучи завёрнутым в скрипт teleport и положенным на видное место (указанное в PATH), имеем удобство применения и богатство настроек.
-r | -recursive
Включить рекурсивный просмотр каталогов и подкаталогов на удал©нном сервере.
-l depth | -level=depth
Определить максимальную глубину рекурсии равной depth при просмотре каталогов на удал©нном сервере. По умолчанию depth=5.
-np | -no-parent
Не переходить в родительский каталог во время поиска файлов. Это очень полезное свойство, поскольку оно гарантирует, что будут копироваться только те файлы, которые расположены ниже определ©нной иерархии.
-A acclist | -accept acclist
-R rejlist | -reject rejlist
Определить раздел©нные запятыми списки суффиксов им©н файлов или шаблонов, чтобы принять или отвергнуть копирование файлов. Подробнее смотрите раздел 13.4.3.
-k | -convert-links
Превратить абсолютные линки в HTML документе в относительные линки. Преобразованию подвергнутся только те линки, которые указывают на реально загруженные страницы; остальные не будут преобразовываться.
Заметим, что лишь в конце работы Wget сможет узнать какие линки были реально загружены. Следовательно, лишь в конце работы Wget будет выполняться окончательное преобразование.
http-user=user
-http-passwd=password
определить имя пользователя как user и пароль как password на HTTP сервере. В соответствии с типом обращения, Wget будет кодировать эти параметры с использованием одной из схем кодирования: basic (не секретная) и digest.
-A acclist –accept acclist -R rejlist –reject rejlist
Список имен файлов, разделенных запятыми, которые следует или не следует загружать. Разрешается задание имен файлов по маске.
-H –span-hosts
Разрешает посещать любые сервера, на которые есть ссылка.
-p –page-requisites
Загружать все файлы, которые нужны для отображения страниц HTML. Например: рисунки, звук, каскадные стили.
По умолчанию такие файлы не загружаются. Параметры -r и -l, указанные вместе могут помочь, но т.к. Wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.
-k –convert-links
После завершения загрузки конвертировать ссылки в документе для просмотра в автономном режиме. Это касается не только видимых ссылок на другие документы, а ссылок на все внешние локальные файлы.
Каждая ссылка изменяется одним из двух способов:
- Ссылки на файлы, загруженные Wget изменяются на соответствующие относительные ссылки.
Например: если загруженный файл /foo/doc.html, то ссылка на также загруженный файл /bar/img.gif будет выглядеть, как ../bar/img.gif. Этот способ работает, если есть видимое соотношение между папками одного и другого файла.
- Ссылки на файлы, не загруженные Wget будут изменены на абсолютные адреса этих файлов на удаленном сервере.
Например: если загруженный файл /foo/doc.html содержит ссылку на /bar/img.gif (или на ../bar/img.gif), то ссылка в файле doc.html изменится на http://host/bar/img.gif.
Благодаря этому, возможен автономный просмотр сайта и файлов: если загружен файл, на который есть ссылка, то ссылка будет указывать на него, если нет - то ссылка будет указывать на его адрес в интернет (если такой существует). При конвертировании используются относительные ссылки, значит вы сможете переносить загруженный сайт в другую папку, не меняя его структуру.
Ссылки: Их очень много. Вот <a href=«http://www.inp.nsk.su/%7Ebolkhov/teach/inpunix/typ_wget.ru.html»>здесь</a> лежит простое описание возможностей wget, <a href=«http://linux.zp.ua/doc/ru/books/shevel/node103.html»>здесь</a> часть ключей с интересными комментариями. Что-то взято <a href=«http://forum.ixbt.com/topic.cgi?id=24:7978»>отсюда</a> и <a href=«http://www.lifehacker.com/software/top/geek-to-live--mastering-wget-161202.php»>отсюда</a>. Ну и конечно это не отменяет прочтение мануала, в том числе на <a href=«http://linuxwiki.sbin.ru/index.php/Man:wget»>русском</a>.