Различия
Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
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>. | + | |