wget Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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''​ — включить рекурсивный просмотр каталогов и подкаталогов на удалённом сервере.
  
----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>​.+