Все параметры чувствительны к регистру. Порядок их записи неважен. Они могут следовать после URL’ов, которых можно указывать сразу несколько, разделяя пробелами. Можно сокращать последовательность однобуквенных параметров, записывая их подряд без дефисов (например, «-rk» вместо «-r -k«). Для параметров, используемых с последующими аргументами, наличие пробела перед аргументом необязательно (например, записи «-o log.txt» и «-olog.txt» эквивалентны). Поскольку параметры могут идти после URL, есть возможность явно указать, где заканчиваются параметры, и начинается URL, с помощью ‘—‘. Например, команда wget -o<i>log.txt -- -x приведёт к попытке загрузить URL «-x«, записывая выводимые сообщения о неудаче в файл «log.txt«.
Глобальные свойства
1) Wget всегда следует за перенаправлениями, но их не может быть больше 20. Однако они не приводят к рекурсивной выгрузке чужих сайтов, если не указан параметр ‘-H’ в сочетании с ‘-r’ и соответствующие сайты разрешены для загрузки. 2) Wget поддерживает cookies. Wget принимает <все> cookies, присылаемые сервером, и отправляет их ему в заголовках дальнейших запросов. Кроме того, можно заставить wget сохранять полученные cookies в файле на диске в формате, поддерживаемом Internet Explorer и Netscape. Также возможен импорт cookies, принятых этими браузерами и полное отключение использования cookies. 3) При рекурсивной выгрузке wget отправляет заголовки ‘Referer’. Этот заголовок можно также задать отдельно через параметр ‘—referer=URL‘ при загрузке отдельных файлов. 4) Поддерживаются подстановочные символы в FTP-адресах и кодирование в них данных для аутентификации. Например, команда wget ftp://fly.cc.fer.hr/* Загрузит все файлы из корневой директории сервера ftp://fly.cc.fer.hr/.
5) Данные для аутентификации на http:// и ftp:// — серверах могут быть включены в URL: 6) Небезопасные символы в URL’ах могут быть представлены в шестнадцатеричном виде в соответствии с кодовой таблицей ASCII. Примеры небезопасных символов: «%» (представляется как «%25»), «:» («%3A»), «@» («%40»). Полный список таких символов см. в RFC1738 или, если ломает искать, в этом посте.
7) Wget поддерживает два режима передачи файлов через FTP: двоичный режим (binary mode, type=i — используется по умолчанию) и текстовый (ASCII mode, type=a). В двоичном режиме файлы загружаются без изменений (это режим по умолчанию). В ASCII-режиме осуществляется конвертация символов конца строки между разными операционными системами. Этот режим полезен при загрузке текстовых файлов. Вот пример его использования:
8) Все параметры, принимающие разделённые запятыми перечни аргументов, поддерживают правило, что указание после них пустого перечня аргументов очищает их текущее значение (например, заданное в файле .wgetrc). В следующем примере вначале очищается текущий перечень исключаемых при рекурсивной выгрузке директорий, заданный в файле .wgetrc, а затем в него вносятся корневые папки /cgi-bin и /dev:
Описания важнейших параметров:
-nc — не загружать существующие файлы. Удобна для продолжения закачки сайта, прерванной посередине. При этом первым делом программа будет рекурсивно обрабатывать уже загруженные файлы, не выходя в Интернет. Поэтому, в сочетании с параметром «-rk» этот параметр позволяет конвертировать ссылки в HTML-файлах недокачанного сайта при отсутствии подключения к Интернету (при этом, к сожалению, HTML-файлы, сохраненные с таким расширением только благодаря использованию параметра «-E«, будут считаться незагруженными. А сохранённые с неправильным расширением вэб-страницы не будут распознаны, как HTML-файлы, и ссылки из них экстрагироваться не будут). Если не указан ни этот параметр, ни «-N«, то при попытке докачать недокачанный сайт все файлы будут загружены заново с перезаписью уже существующих. Этот параметр отменяет действие параметра «-c» при рекурсивной выгрузке. -nd — не создавать никаких директорий, загружать все файлы в текущую директорию (если директория не задана отдельно). -k — после окончания закачки всех файлов конвертировать все ссылки в них для локального просмотра. При этом ссылки на те файлы, которые не были загружены, будут вести в Интернет. -E — сохранять все HTML-файлы, имеющие неправильное расширение, с расширением .html (очень ценная опция при загрузке сайтов на ASP, CGI или PHP, т.к. без неё получается огромное количество файлов с неправильным расширением, которые, хотя и будут после конвертации открываться в браузере при переходе по локальной ссылке, плохо распознаются системой). Однако у этой опции есть побочное действие: те файлы, расширение которых было изменено, будут повторно загружены при докачке или обновлении существующей локальной копии сайта, даже если задан параметр «-nc» или «-N«. Это связано с тем, что wget не может знать, к какому типу файла ведёт такая ссылка: «text/html» или «application/binary«? Соответственно, пока она не отправит запрос загрузки на сервер, не узнает. Тем не менее, это можно предотвратить в случае обновления существующей локальной копии сайта, если при первоначальной выгрузке использовать опции «-kK«, что приведёт к тому, что оригинальные неконвертированные HTML-файлы будут резервироваться перед конвертацией в файлы с расширением .orig. В связи с этим, если есть вероятность, что сайт придётся докачивать без конвертации скачанных страниц, необдуманное использование этой опции оказывается невыгодным: во многих случаях те web-страницы на сайте, которые после скачивания будут иметь неправильное расширение, или совсем не нужны, или с них в любом случае не придётся начинать обзор. А ссылки на них с других страниц сайта после конвертации будут работать всё равно… Кроме того, следует помнить, что при использовании параметра «-nc» без «-E» такие файлы не только не будут загружаться заново, но также не будут конвертироваться при докачке, и вообще при докачке не будут распознаны как HTML-файлы, т.е. они будут потеряны в плане корректного отображения. А если использовать параметр «-E«, они при докачке будут загружены заново, обработаны и после окончания закачки корректно конвертированы… А соль в том, что, например, на сайте www.3dnews.ru все ценные файлы имеют правильное расширение. Исключение не составляют даже файлы, создаваемые по ссылке «версия для печати»… Неправильное расширение только у счётчиков: это файла с именами вида «image.htm@count=3«. Они все имеют одинаковый размер (3420 байт), и в некоторых папках их оказывается до 20 штук. Поскольку сайт этот имеет размер немаленький (больше 1 Гб), за один раз закачать его почти невероятно, даже если поставить закачку на двое суток. Это связано даже не с тем, насколько у вас быстрый канал доступа в Интернет, а с загруженностью самого сервера. Поэтому, чтобы такого рода файлы каждый раз заново не закачивать, не следует использовать параметр «-E» или вносить их в список запрещённых… Однако закачать сайт www.3dnews.ru до конца всё равно не получится, т.к. эти файлы счётчиков создаются по мере рекурсивной выгрузки (я дошел до «image.htm@count=1500«, и прекратил закачку, т.к. стало ясно, что эти файлы никогда не кончатся). После окончательного прекращения докачки, когда кроме счётчиков уже ничего не грузится, следует снова запустить её с параметром ‘-nc‘ в отсутствие соединения с Интернетом, и при запрете на загрузку таких файлов. Тогда все лишние файлы будут удалены, а ссылки корректно конвертированы.
-r — рекурсивная выгрузка всех файлов в вышележащих и нижележащих папках на сервере. По умолчанию, wget не заходит на другие сайты, если не указан параметр «-H», однако исключением является переадресация документов с данного сайта на другие, например на сайте www.3dnews.ru в разделе «Downloads» есть много ссылок типа www.3dnews.ru/file.rar. Однако при переходе по ним оказывается, что file.rar на самом деле находится на сайте files.3dnews.ru или на ftp.3dnews.ru. Я нашел 2 способа это обойти: запретить загрузку файлов с расширением .rar или ещё радикальнее: отнять у текущего пользователя право на создание папок в корневой директории, где находится папка www.3dnews.ru. Для этого проще всего воспользоваться консольной командой:
-p — загружать все файлы, необходимые для корректного отображения вэб-страницы. Благодаря этому параметру можно загружать с помощью wget отдельные вэб-страницы целиком, включая звуковые файлы, автоматически проигрываемые при открытии вэб-страницы и фреймы. Однако, по умолчанию, wget загружает только файлы, находящиеся на текущем сервере. Чтобы загружались все необходимые файлы, этот параметр надо использовать в комбинации с параметром «-H«, а чтобы при этом не воссоздавалась структура всех серверов, на которых расположены затребованные файлы и не загружались ненужные файлы robots.txt, а сам HTML-файл был конвертирован для локального просмотра, следует использовать такую команду: -e command — выполнить команду command файла .wgetrc. После этого параметра через пробел может идти только одна команда этого файла. Такого рода команды, естесственно, имеют преимущества над записанными в файле .wgetrc, поскольку выполняютя после выполнения всех команд в нём. -N — загружать с сервера только более новые файлы, чем уже существующие. При этом для каждого файла на сервер будет отправляться запрос, по ответу на который будет определяться время последней модификации файла на сервере и его размер. Для некоторых файлов такая информация получена быть не может, например для файлов, генерируемых по запросу (так всегда бывает в случае веб-страниц форумов и любых других сайтов на PHP, ASP и т.п.). В этом случае wget загружает уже существующий файл повторно. При использовании этой опции в комбинации с «-kK» будут сравниваться также длины файлов. Кроме того, при использовании этого параметра полностью отключается приписывание окончаний «#» к существующим файлам. Например, если сочетать его с параметром ‘-nd‘, разные файлы с одинаковыми именами будут последовательно загружаться и перезаписывать предыдущие, т.к., при несовпадении размеров файла на сервере и на диске, существующий файл будет перезаписан независимо от даты его модификации. Однако после конвертации HTML-файлов все ссылки будут верны: ссылка в соответствующей вэб-странице, ведущая к тому файлу, который на самом деле был сохранён, будет вести к локальному файлу, а во всех остальных вэб-страницах — в Интернет, несмотря на то, что другие файлы тоже загружались (но потом перезаписывались). -np — при рекурсивной выгрузке закачивать файлы только из нижележащих директорий по отношению к указанной в URL. -Rlist. list — перечень окончаний имён файлов (например, gif или .jpg) и заключённых в кавычки шаблонов имён файлов (например, «zelazny*196[0-9]*» означает загрузку всех файлов, начинающихся с zelazny и содержащих числа от 1960 до 1969. Можно ещё использовать «?«, как один подстановочный символ). HTML-файлы будут загружаться при рекурсивной выгрузке в любом случае, но если загрузка файлов с такими окончаниями или шаблонами имён запрещена, то после анализа они будут сразу же удаляться. Пример: -Rrar,zip,exe,»*template=print*» (запрещает загрузку файлов с расширениями rar, zip и exe, а также файлов, содержащих в имени последовательность символов «*template=print*«. Однако последние, будучи html-файлами, всё равно будут загружаться, и сразу после загрузки удаляться, как запрещённые для сохранения. В связи с этим запрещать загрузку HTML-файлов по шаблону вообще не стоит: они всё равно будут загружены, да ещё и при докачке недокачанного сайта в очередной раз будут загружены в обязательном порядке…).
-Alist — загружать только файлы со следующими расширениями: list. Параметр полностью аналогичен -Rlist, но действует наоборот. -m — создать локальную копию сайта или обновить уже существующую локальную копию сайта, загружая только обновлённые файлы, сохранять листинги FTP-директорий. Этот параметр эквивалентен следующей записи: «-Nrl0 -nr». -ologfile — записывать все выводимые сообщения в logfile, не выводя их на экран. logfile — имя файла или путь к нему (абсолютный или относительный). Например: wget -mkEK http://www.gnu.org/ -o /home/me/weeklog -alogfile — то же, что «-ologfile«, но сообщения будут дописываться в конец этого файла вместо его перезаписи.
-iURLs.txt — загрузить все файлы с адресами, указанными в файле URLs.txt, где URLs.txt — имя файла или путь к нему. В нём должно быть по 1-му URL на строку. URL’ы могут содержать данные для аутентификации. Если в качестве файла со списком URL’ов нужно использовать вэб-страницу, этот параметр следует использовать в сочетании с опциями ‘—force-html‘ и ‘—base=URL‘.
-Dlist — ограничить рекурсивную выгрузку следующими доменами: list — разделённый запятыми перечень имён доменов. Этот параметр имеет смысл только в сочетании с «-H«. Может употребляться вместе с обратным по действию параметром «—exclude-domains list«, Источник: http://forum.ru-board.com/topic.cgi?forum=5&topic=10066&start=10&limit=1 No comments yet.
|
|