Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
wiki:wget [2011/07/17 04:58] создано |
wiki:wget [2016/05/10 21:41] (текущий) кодировка буквы |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== wget ====== | ====== wget ====== | ||
- | wget — текстовая программа для скачивания файлов. | + | //''wget''// — текстовая программа для скачивания файлов. |
- | Просто скачать файл wget-ом: | + | Если возможностей wget не хватает, то можно использовать [[http://www.opennet.ru/man.shtml?topic=curl|curl]]. |
+ | |||
+ | ==== Примеры ==== | ||
+ | |||
+ | Просто **скачать файл** wget-ом: | ||
<code>wget ftp://vasya.pupkin.com/film.avi</code> | <code>wget ftp://vasya.pupkin.com/film.avi</code> | ||
- | Для продолжения оборвавшейся закачки пишем: | + | Для **продолжения оборвавшейся закачки** пишем: |
<code>wget -c ftp://vasya.pupkin.com/film.avi</code> | <code>wget -c ftp://vasya.pupkin.com/film.avi</code> | ||
или | или | ||
- | <code>wget -continue ftp://vasya.pupkin.com/film.avi</code> | + | <code>wget --continue ftp://vasya.pupkin.com/film.avi</code> |
+ | Как и в других программах, ключи имеют короткую и длинную формы, и вместо ''-с'' можно написать ''-continue''. Длинные ключи проще запомнить, но дольше писать. Можно легко смешивать различные формы написания. | ||
- | ----- | + | Чтобы **выкачать файлы из списка**, содержащего прямые ссылки: |
+ | <code>wget -i pupkinlist.txt</code> | ||
+ | или | ||
+ | <code>wget --input-file=pupkinlist.txt</code> | ||
+ | Здесь указывается только файл, в котором содержатся ссылки. Файл может так же быть HTML-страницей, в которой есть ссылки. Они будут выкачаны указанной выше командой. | ||
- | Вместо -с можно написать -continue, так как каждый ключ имеет короткую и длинную формы: длинные ключи проще запомнить, но дольше писать. Можно легко смешивать различные формы написания. | + | **Использование а-ля "Teleport Pro for Linux".** |
- | Чтобы выкачать файлы из списка, содержащего прямые ссылки: | + | При скачивании веб-сайтов возможностей больше, и поэтому требуется больше ключей. Опять-таки, запоминать их все не обязательно, можно сделать скрипт (а лучше несколько - под разные случаи) и вызывать их. |
- | wget -i pupkinlist | + | Так вот, если имеется веб-сайт, и хотелось бы иметь его локальную копию на компьютере, чтобы, отключившись от сети, можно было не торопясь его почитать. |
- | или | + | |
- | wget -input-file=pupkinlist | + | |
- | + | ||
- | Здесь указывается только файл, в котором содержатся ссылки. Файл может так же быть HTML-страницей, в которой есть ссылки. Они будут выкачаны указанной выше командой. | + | |
- | + | ||
- | Использование а-ля "Teleport Pro for Linux" | + | |
- | При скачивании веб-сайтов возможностей больше, и поэтому требуется больше ключей. Опять-таки, запоминать их все не обязательно, можно сделать скрипт (а лучше несколько - под разные случаи) и вызывать их. | + | |
- | Так вот, если имеется веб-сайт, и хотелось бы иметь его локальную копию на компьютере, чтобы, отключившись от сети, можно было неторопясь его почитать. | + | |
Зеркалирование сайтов на локальную машину: | Зеркалирование сайтов на локальную машину: | ||
- | wget -m http://www.vasyapupkin.com/ | + | <code>wget -m http://www.vasyapupkin.com/</code> |
- | Это эквивалентно -r -N -l inf -nr, поэтому напишу подробнее про эти опции. | + | ''-m'' эквивалентно ''-r -N -l inf -nr'', эти опции описаны ниже. |
- | Замечу, что при этом ссылки останутся абсолютными - то есть, будут указывать на Интернет-адреса, и удобно просматривать на локальной машине будет затруднительно. | + | При этом ссылки останутся абсолютными - то есть, будут указывать на Интернет-адреса, и удобно просматривать на локальной машине будет затруднительно. |
- | Копирование сайта для локального просмотра: | + | Копирование сайта для локального просмотра (с заменой интернет-ссылок на локальные адреса скачанных страниц): |
- | wget -r -l0 -k http://www.vasyapupkin.com/ | + | <code>wget -r -l0 -k http://www.vasyapupkin.com/</code> |
При этом будет включена рекурсивная выгрузка (ключ -r, --recursive), | При этом будет включена рекурсивная выгрузка (ключ -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. Например: рисунки, звук, каскадные стили. | + | В wget имеется большое количество полезных опций - побольше, чем у Teleport'а флажков. Будучи завёрнутым в скрипт, например, ''teleport'' и положенным на видное место (указанное в ''PATH''), имеем удобство применения и богатство настроек. |
- | По умолчанию такие файлы не загружаются. Параметры -r и -l, указанные вместе могут помочь, но т.к. Wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое. | + | ''-np'', ''--no-parent'' — не подниматься выше начального адреса при рекурсивной загрузке. |
+ | ''-r'', ''--recursive'' — включить рекурсивный просмотр каталогов и подкаталогов на удалённом сервере. | ||
- | -k --convert-links | + | ''-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 будет выполняться окончательное преобразование. | ||
- | * Ссылки на файлы, загруженные Wget изменяются на соответствующие относительные ссылки. | ||
- | Например: если загруженный файл /foo/doc.html, то ссылка на также загруженный файл /bar/img.gif будет выглядеть, как ../bar/img.gif. Этот способ работает, если есть видимое соотношение между папками одного и другого файла. | + | ''--http-user=<user>'', ''--http-passwd=<password>'' — указать имя пользователя и пароль на HTTP-сервере. |
- | * Ссылки на файлы, не загруженные Wget будут изменены на абсолютные адреса этих файлов на удаленном сервере. | + | ''-H'', ''--span-hosts'' — разрешает посещать любые сервера, на которые есть ссылка. |
- | Например: если загруженный файл /foo/doc.html содержит ссылку на /bar/img.gif (или на ../bar/img.gif), то ссылка в файле doc.html изменится на http://host/bar/img.gif. | + | ''-p'', ''--page-requisites'' — загружать все файлы, которые нужны для отображения страниц HTML. Например: рисунки, звук, каскадные стили (CSS). По умолчанию такие файлы не загружаются. Параметры ''-r'' и ''-l'', указанные вместе могут помочь, но т.к. wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое. |
- | Благодаря этому, возможен автономный просмотр сайта и файлов: если загружен файл, на который есть ссылка, то ссылка будет указывать на него, если нет - то ссылка будет указывать на его адрес в интернет (если такой существует). При конвертировании используются относительные ссылки, значит вы сможете переносить загруженный сайт в другую папку, не меняя его структуру. | + | ===== Ссылки ===== |
+ | * [[http://forum.ubuntu.ru/index.php?topic=8903.msg65314#msg65314|Руководство по работе с wget]] — статья на форуме | ||
+ | * [[http://www.opennet.ru/man.shtml?topic=wget|man wget]] — документация на русском языке | ||
+ | * [[http://www.inp.nsk.su/%7Ebolkhov/teach/inpunix/typ_wget.ru.html|Программа wget]] — простое описание возможностей | ||
+ | * [[http://forum.ixbt.com/topic.cgi?id=24:7978|GNU Wget: документация и FAQ]] | ||
- | Ссылки: | + | {{tag> сетевые_приложения интернет консоль ПО}} |
- | Их очень много. Вот <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>. | + |