Я фанат этого блога! Подписаться

Linux дистрибутивы

На нашем линукс блоге вы можете скачать linux дистрибутивы, а так же найти много информации по линуксу

Subscribe

wget – руководство

Июль 28th, 2010

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

Просто скачать файл 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.

Благодаря этому, возможен автономный просмотр сайта и файлов: если загружен файл, на который есть ссылка, то ссылка будет указывать на него, если нет – то ссылка будет указывать на его адрес в интернет (если такой существует). При конвертировании используются относительные ссылки, значит вы сможете переносить загруженный сайт в другую папку, не меняя его структуру. А вы знаете,что в интернете продают коттеджи в Потапово?

Комментировать

 


melayu boleh