next up previous contents
Next: 13.4 Рекурсивный поиск и Up: 13. Программа Wget Previous: 13.2 Вызов программы Wget

Подраздел


13.3 Параметры Wget

13.3.1 Общие параметры Wget

-V | -version
вывести на экран версию программы Wget.

-h | -help
вывести на экран информацию о всех параметрах, которые могут быть использованы в командной строке.

-b | -background
перейти в фоновый режим сразу после старта программы. Если не был указан файл протокола работы программы с помощью параметра -o, то протокол будет записан в файл wget-log. Не═требуется никаких дополнительных команд, например, nohup, чтобы запустить Wget в═фоновом режиме и сразу освободить терминал для дальнейшего ввода или для выхода из системы.

-e command | -execute command
выполнить команду command перед началом работы Wget как будто command является частью файла .wgetrc. Следует заметить, что command будет выполнена после команд из .wgetrc.

13.3.2 Параметры управления протоколированием выполнения Wget

-o logfile | -output-file=logfile
записывать все сообщения в файл с именем logfile. Обычно такие сообщения направляются в стандартный файл сообщений об ошибках.

-a logfile | -append-output=logfile
выводить сообщения о выполнении программы в конец файла logfile. Если файл с именем logfile не существует, то он будет создан.

-d | -debug
включить отладочный вывод, означающий различную информацию, которая может быть важной для разработчика Wget. Если ваш администратор при компилировании программы Wget не включил возможность отладки, то, быть может, программа не будет работать. Если же при компилировании такая возможность была включена, то она не оказывает никакого действия, пока не включ©н параметр -d.

-q | -quiet
Выключить весь вывод программы.

-v | -verbose
Включить вывод подробных сообщений. По умолчанию -- включено.

-nv | -non-verbose
Выключить вывод подробных сообщений. Однако, выполнение не будет молчаливым -quiet. Вывод основной информации и сообщений об ошибках будет продолжаться.

13.3.3 Ввод для программы Wget

Программа Wget может иметь вводной файл, в котором печислены URL, которые следует скопировать на локальную машину в данном сеансе выполнения.

-i file | -input-file=file
Читать список URL из файла с именем file. В этом случае нет необходимости задавать URL в командной строке. Если URL имеются в командной строке и в вводном файле, указанном параметром -i, то сначала будут обработаны те URL, которые находятся в командной строке. Нет необходимости, чтобы входной файл, указанной с помощью -i, имел вид HTML страницы. Достаточно, чтобы URL в файле были представлены в виде простого списка. Однако, вводной файл может иметь формат HTML страницы.

Если вы указали параметр -force-html, вводной документ будет рассматриваться как HTML страница. В этом случае возможны проблемы с относительными линками, которые вы сможете разрешить добавив в документ строку <base href="URL"> или определив параметр -base=URL в командной строке.

-F | -force-html
Когда ввод URL производится посредством чтения файла, следует обрабатывать этот файл как файл в формате HTML. Это позволяет вам копировать относительные линки в существующих на вашем компьютере файлах HTML, добавляя строку <base href="URL"> к локальному файлу HTML или определив параметр -base=URL в командной строке.

13.3.4 Общие параметры копирования файлов

-t number | -tries=number
Установить число попыток выполнить копирование равным number. Значение 0 (нуль) или inf означают неограниченное число попыток.

-O file | -output-document=file
Копируемые документы не будут записываться отдельно в соответствующие файлы, а все вместе будут записываться в один файл file. Если файл file уже существует, то он будет целиком перезаписан (старое содержание будет уничтожено). Если file есть - (знак минус), документы будут выводиться на стандартный вывод. Использование этого параметра устанавливает число попыток копирования равным 1.

-nc | -no-clobber
Не расширять существующие имена файлов, когда они сохраняются в иерархии каталогов во время рекурсивного копирования файлов. Эта возможность полезна, когда вы хотите продолжать копирование после прерывания в процессе копирования многих файлов. Если файлы имеют окончание .html или .htm они будут загружены с локального диска и обработаны как будто они скопированы из Интернет.

-c | -continue
Продолжить при©м существующего файла. Это полезно, когда вы желаете закончить копирование удал©нного файла, копирование которого было начато другой программой или предыдущим запуском Wget. Таким образом, вы можете написать:
wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
Если в текущем локальном каталоге имеется файл с именем ls-lR.Z, Wget будет предполагать, что это есть первая порция удал©нного файла и запросит удал©нный сервер продолжить копирование с байта, который следует за длиной имеющегося файла.

Заметим, что вам не обязательно определять этот параметр, если вы хотите продолжить копирование файла после обрыва связи - Wget делает это по умолчанию. Этот параметр нужен в случаях, когда Wget был абортирован или когда начало файла было скопировано другой программой, например, ncftp.

Без параметра -c, команда из предыдущего примера начн©т копировать удал©нный файл и даст ему локальное имя ls-lR.Z.1. Параметр -c приложим и к HTTP серверам, которые поддерживают заголовок Range.

-dot-style=style
Установить стиль копирования в style. Wget обозначает процесс копирования каждого документа выводом точек на экран, где каждая точка соответствует определ©нному объ©му данных. Любое число точек могут быть объединены в кластеры, чтобы сделать вывод более выразительным (л©гким для оценки). Этот параметр позволяет вам выбрать один из встроенных стилей, где вы сможете установить число байтов соответствующих одной точке, число точек в кластере, а также число точек в строке.

По умолчанию, стиль default, каждая точка соответствует 1K байтов, 10 точек объединены в кластер, а в строке имеется 50 точек. Стиль binary имеет 8K байтов на точку, 16 точек в кластере и 48 точек в строке (384K на строку). Стиль mega подходит для очень больших пересылок - каждая точка соответствует 64K, восемь точек на кластер и 48 точек в строке, итого, 3MБ на строку. Стиль micro хорош для маленьких файлов: 128 байтов на точку, 8 точек на кластер и 48 точек на строку (6K на строку).

-N | -timestamping
Включить использование отметок времени в оглавлении каталогов в процессе копирования.

-S | -server-response
Напечатать на экране заголовки, посланные HTTP серверами и ответы, посланные FTP серверами.

-spider
Когда программа вызвана с этим параметром, то Wget ведет себя как spider, т.е. никакие документы не загружаются на локальные диски, а только проверяется, что удал©нные документы существуют. Это свойство можно использовать для проверки файла bookmarks.html:
wget -spider -force-html -i bookmarks.html
Эта особенность требует значительно больше работы от Wget, чтобы вести себя функционально идентично реальному роботу типа spider.

-T | -timeout=seconds
Установить максимальное ожидание до фактического начала операции чтение равным значению seconds секунд. Когда выдана сетевая операция чтения, файловый описатель проверяется на превышение времени ожидания. В противном случае могло бы остаться зависшее чтение. По умолчанию максимальное время ожидания составляет 900 секунд. Установка timeout равным 0 выключает проверку.

Пожалуйста не выключайте проверку на timeout, если вы не понимаете отчетливо, что вы делаете.

-w seconds | -wait=seconds
Ждать определ©нное количество секунд (seconds) между попытками чтения документов. Использование этого параметра можно рекомендовать, чтобы разгрузить удал©нный сервер или подождать, пока сервер снова станет доступным. Вместо секунд можно определить интервал в минутах используя суффикс m, в часах использую суффикс h, или в днях использую суффикс d.

Использование больших значений полезно, если сеть или сервер вышел из строя. Таким образом, Wget может ждать такое время, за которое сеть или сервер будут приведены в рабочее состояние.

-Y on/off | -proxy=on/off
Включить прокси или выключить прокси. Прокси включено по умолчанию, если определена соответствующая переменная окружения.

-Q quota | -quota=quota
Определить квоту для копируемых документов. Значение квоты может быть определено в байтах (по умолчанию), килобайтах (суффикс k), или мегабайтах (суффикс m).

Заметим, что квота никогда не действует на одиночный файл. Так что, если вы определили
wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz
весь файл ls-lR.gz будет передан и записан на диск, даже если его объ©м оказался намного больше 10КБ. То же самое будет, если несколько URL определены в командной строке. Однако, квота будет принята во внимание, когда имеет место рекурсивный поиск и передача файлов или, если URL прочитаны из вводного файла. Так, вы можете предусмотрительно записать
wget -Q2m -i sites
передача и запись файлов будет завершена, если квота 2MБ будет превышена.

Установив значение квоты в 0 или inf вы отключите проверку на квоту.

13.3.5 Параметры создаваемых каталогов

-nd | -no-directories
Не создавать иерархию каталогов копируя удал©нную структуру. Если этот параметр включ©н, то все файлы будут сохранены в текущем каталоге без расширения им©н (если имя появляется более, чем один раз, то имя файла получит окончание .n, где n есть целое.

-x | -force-directories
Создать иерархию каталогов (противоположно параметру -nd), даже если иерархия не была бы создана в другом случае (без использования параметра -x). Например,
wget -x http://fly.cc.fer.hr/robots.txt
сохранит загружаемый файл под именем fly.cc.fer.hr/robots.txt.

-nH | -no-host-directories
Запретить генерацию каталогов с именами хостов. По умолчанию Wget вызывается с параметром
wget -r http://fly.cc.fer.hr/
и будет создавать каталожную структуру начиная с каталога с именем fly.cc.fer.hr/.

-cut-dirs=number
Игнорировать number компонентов иерархии каталогов удал©нного сервера. Параметр используется, чтобы реализовать точное управление процессом создания каталогов на локальной машине во время рекурсивного копирования с удал©нного сервера. Например,
wget -r ftp://ftp.xemacs.org/pub/xemacs/
сохранит все файлы в иерархии каталогов, где верхний каталог имеет имя ftp.xemacs.org/pub/xemacs/. В то время как параметр -nH может удалить часть ftp.xemacs.org/, у вас останется каталожная структура pub/xemacs. Это тот случай когда становится ясной роль параметра -cut-dirs: с его использованием Wget пропускает на удал©нном сервере number каталожных уровней (естественно, сверху). Ниже приведены несколько примеров как действует параметр -cut-dirs:


ppppppнет управления -> ftp.xemacs.org/pub/xemacs/ 

-nH -> pub/xemacs/
-nH -cut-dirs=1 -> xemacs/
-nH -cut-dirs=2 -> .
-cut-dirs=1 -> ftp.xemacs.org/xemacs/
...

Если желаете только прочесть каталожную структуру, то это подобно комбинации -nd и -P. Однако, в противоположность nd, параметр -cut-dirs не пропускает подкаталоги. Например, с использованием комбинации -nH -cut-dirs=1, подкаталог beta/ будет помещен, как можно ожидать, в xemacs/beta.

-P prefix | -directory-prefix=prefix
Установить каталожный префикс в значение prefix. Здесь каталожный префикс означает каталог, где будут записаны все другие файлы и подкаталоги, т.е. вершина каталожного дерева. Умолчание есть "." (точка), т.е. текущий каталог.

13.3.6 Параметры копирования файлов с использованием протокола HTTP

-http-user=user
-http-passwd=password
определить имя пользователя как user и пароль как password на HTTP сервере. В соответствии с типом обращения, Wget будет кодировать эти параметры с использованием одной из схем кодирования: basic (не секретная) и digest.

Другим способом определения имени пользователя и пароля является определение этих аргументов в самом URL.

-C | -cache=on/off
Когда установлен в off - выключает кэш на стороне сервера. В этом случае Wget посылает удал©нному серверу соответствующую директиву (Pragma: no-cache), чтобы получить файл с удал©нного сервера, а не выдать сохран©нную в кэше копию. Это полезно использовать для документов, которые относительно часто меняются, чтобы избежать получения устаревшей копии из прокси сервера.

По умолчанию -cache=on.

-ignore-length
К несчастью, некоторые HTTP серверы (точнее CGI программы) посылают странные заголовки Content-Length, которые вводят программу Wget в заблуждение, что не весь ещ© документ прочитан. Вы можете опознать такое поведение Wget: программа запрашивает один и тот же документ снова и снова, сообщая каждый раз, что соединение прервалось на том же самом байте (вс© остальное в норме).

С данным параметром Wget будет игнорировать заголовок Content-Length как будто его нет.

-header=additional-header
Определить дополнительный заголовок additional-header, чтобы пройти к HTTP серверу. Заголовки должны содержать : (двоеточие), за которым следуют несколько символов (не пробелов) и не должны содержать символ newline.

Вы можете определить более, чем один заголовок с использованием параметра -header более, чем один раз.

wget --header='Accept-Charset: iso-8859-2' \
     --header='Accept-Language: hr'        \
       http://fly.cc.fer.hr/
Определение пустой строки в качестве заголовка очистит все предыдущие заголовки, определ©нные пользователем.

-proxy-user=user
-proxy-passwd=password
Определить имя пользователя как user и пароль пользователя как password для аутентификации на прокси сервере. Wget будет кодировать эти параметры с использованием схемы basic.

-s | -save-headers
Сохранить заголовки, посланные HTTP сервером, в файле перед данными, разделив заголовок и данные пустой строкой.

-U agent-string | -user-agent=agent-string
Определить agent-string для HTTP сервера.

Протокол HTTP разрешает клиенту идентифицировать себя с использованием поля заголовка User-Agent. Это позволяет распознавать какое использовалось программное обеспечение, для статистических целей или для целей отладки. Wget идентифицирует себя как Wget/version, где version есть текущий номер версии программы Wget.

Однако, как известно некоторые серверы выдают информацию в зависимости от значения поля User-Agent. Концептуально в этом ничего нет плохого, тем не менее печально, если сервер не выда©т никакой информации клиентам, которые не идентифицируют себя, например, как Internet Explorer или Mozilla. Этот параметр позволяет вам сменить поле User-Agent, которое выда©т Wget. Использование такой возможности трудно приветствовать, но вы знаете что делаете.

Заметим попутно, что компания Netscape Communications Corp. настояла на том, что использование значения поля User-Agent равное Mozilla является знаком авторских прав и его несанкционированное использование может преследоваться по закону. Не используйте в параметре User-Agent программы Wget значение Mozilla.

13.3.7 Параметры копирования файлов с использованием протокола FTP

-retr-symlinks
Произвести чтение символического линка на удал©нном сервере так, как будто это обычный файл. Иными словами не создавать символического линка локально.

-g on/off | -glob=on/off
Разрешает и запрещает расширение им©н файлов в соответствии с метасимволами типа * (зв©здочка), ? (знак вопроса), [ и ] (открывающая и закрывающая квадратные скобки), чтобы расширить число файлов переписываемых с удал©нного сервера. Например,
wget ftp://glueck.cern.ch/*.msg
По умолчанию установлено -g on, т.е. включено расширение.

Возможно вы должны будете заключить ваши URL в кавычки, чтобы защитить их от автоматического расширения в вашей оболочке UNIX. Когда возможность расширения им©н включена, Wget просматривает оглавление каталога, который зависит от типа операционной системы. Это определяет, что данная возможность успешно работает с FTP серверами под управлением диалектов UNIX.

-passive-ftp
Использовать пассивную схему FTP соединения, в которой клиент инициирует соединение. Это временами требуется для FTP, чтобы успешно работать через охранные серверы (firewalls).

13.3.8 Параметры рекурсивного поиска и копирования файлов

-r | -recursive
Включить рекурсивный просмотр каталогов и подкаталогов на удал©нном сервере.

-l depth | -level=depth
Определить максимальную глубину рекурсии равной depth при просмотре каталогов на удал©нном сервере. По умолчанию depth=5.

-delete-after
Этот параметр заставляет Wget удалять с локальной машины каждый одиночный файл сразу после копирования этого файла с удал©нного сервера. Это может оказаться полезным для того, чтобы загрузить прокси сервер какой-то популярной страницей
wget -r -nd -delete-after http://www.cern.ch/~popular/page/
здесь -r - рекурсивный просмотр каталогов; -nd - не создавать каталогов на локальной машине.

-k | -convert-links
Превратить абсолютные линки в HTML документе в относительные линки. Преобразованию подвергнутся только те линки, которые указывают на реально загруженные страницы; остальные не будут преобразовываться.

Заметим, что лишь в конце работы Wget сможет узнать какие линки были реально загружены. Следовательно, лишь в конце работы Wget будет выполняться окончательное преобразование.

-m | -mirror
Включить режим зеркального отображения. Этот параметр включает рекурсию, временные отметки и поддерживает расширение им©н. Иными словами, устанавливается -r -N -l inf -nr. Здесь -r - рекурсия по каталогам; -N - включить отметки времени создания файла; -l inf - глубина рекурсии по просмотру каталогов и подкаталогов не ограничена; -nr - не удалять временные файлы типа .listing, которые генерирует Wget при FTP поиске. Обычно, такие файлы содержат оглавления каталогов на удал©нных FTP серверах. Сохранив такие файлы, позже их можно использовать для целей отладки. Кроме того, часто удобно иметь оглавление удал©нного FTP сервера.

13.3.9 Параметры управления просмотром удал©нных серверов

-A acclist | -accept acclist
-R rejlist | -reject rejlist
Определить раздел©нные запятыми списки суффиксов им©н файлов или шаблонов, чтобы принять или отвергнуть копирование файлов. Подробнее смотрите раздел 13.4.3.

-D domain-list | -domains=domain-list
Определить приемлемые имена доменов и имена просматриваемых серверов DNS. Здесь domain-list есть список, раздел©нный запятыми. Заметим, что данная возможность не включается в -H. Использование данной возможности ускоряет работу, даже если если имеется в виду один хост. Подробнее смотрите раздел 13.4.2.

-exclude-domains domain-list
Исключить имена доменов, перечисленные в domain-list из списка просматриваемых на серверах DNS.

-L | -relative
Читать лишь те файлы на удал©нном сервере, на которые указывают только относительные линки. Файлы с абсолютными линками не будут приниматься во внимание, даже если они находятся на том же сервере.

-follow-ftp
Читать все FTP линки, которые имеются в HTML документе. Без этого параметра Wget будет игнорировать все FTP линки.

-H | -span-hosts
Разрешить переходы с хоста на хост, когда выполняется рекурсивный поиск.

-I list | -include-directories=list
Определить раздел©нный запятыми список каталогов, которые вы желаете переписать на свою машину. Элементы списка list могут содержать метасимволы.

-X list | -exclude-directories=list
Определить раздел©нный запятыми список каталогов, которые вы не желаете копировать на свою машину. Элементы списка list могут содержать метасимволы.

-nh | -no-host-lookup
Выключить занимающий время просмотр DNS почти всех хостов (смотрите раздел 13.4).

-np | -no-parent
Не переходить в родительский каталог во время поиска файлов. Это очень полезное свойство, поскольку оно гарантирует, что будут копироваться только те файлы, которые расположены ниже определ©нной иерархии. Дополнительные детали могут быть найдены в 13.3.5.


next up previous contents
Next: 13.4 Рекурсивный поиск и Up: 13. Программа Wget Previous: 13.2 Вызов программы Wget
Andrei Chevel
Andrei.Chevel@pnpi.spb.ru