Wget может следовать по ссылкам страниц HTML и создавать локальные копии удаленных сайтов web, при этом возможно полное восстановление структуры папок сайта ("recursive downloading" - рекурсивная загрузка). Во время такой работы Wget ищет файл с правами доступа для роботов (/robots.txt). Возможна также конвертация ссылок в загруженных файлах HTML для дальнейшего просмотра сайта в автономном режиме ("off-line browsing").
Проверка заголовков файлов: Wget может считывать заголовки файлов (это доступно по протоколам HTTP и FTP) и сравнивать их с заголовкам ранее загруженных файлов, после чего может загрузить новые версии файлов. Благодаря этому при использовании Wget можно реализовывать зеркальное хранение сайтов или набора файлов на FTP.
Wget разработан для медленных или нестабильных соединений: если во время загрузки возникнет проблема, то Wget будет пытаться продолжить загрузку файла. Если сервер, с которого загружается файл, поддерживает докачку файлоа, то Wget продолжит загружать файл именно с того места, где оборвалась загрузка.
Если вы укажете --force-html, то файл будет прочтен как html. В этом случае могут возникнуть проблемы с относительными ссылками. Это можно предотвратить добавлением в него "<base href="url">" или вводом в командной строке --base=url.
При запуске Wget без параметров -N, -nc, или -r загрузка одного и того же файла в одну папку приведет к созданию копии файла с именем file.1. Если существует файл и с таким именем, третья копия будет называться file.2 и т.д. При параметре -nc будут выводиться предупреждения об этом.
При запуске Wget с параметром -r, но без -N или -nc, новая загрузка сайта приведет к замене уже загруженных файлов. При указании параметра -nc загрузка продолжится с места обрыва и загруженные файлы не будут загружаться заново (если только они не изменились).
При запуске Wget с параметром -N, с или без -r, файл будет загружен только если он новее уже существующего, или если размер его не совпадает с имеющейся копией (см. Сравнение по дате). -nc не комбинируется с -N.
При указанном параметре -nc файлы с расширениями .html или (вот это просто ужасно) .htm с локальных дисков будут загружаться, как будто бы из интернет.
wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.ZЕсли в текущей папке уже есть файл с именем ls-lR.Z, то Wget проверит, соответствует ли данный файл загружаемому (не по размеру!), и если это так, то отправит запрос на сервер на продолжение загрузки файла с того же места, где оборвалась загрузка в прошлый раз.
Помните, что при обрыве связи Wget повторяет попытки дозагрузки самостоятельно и без параметра -c, и только когда он "сдастся" и завершит свою работу, то для возобновления загрузки файла будет нужен этот параметр.
Без указания опции -c предыдущий пример приведет к загрузке указанного файла заново с конечным именем ls-lR.Z.1, никак не трогая уже имеющийся ls-lR.Z.
Начиная с версии 1.7 при указании параметра -c если файл на сервере имеет равный или меньший, чем у локального файла, размер, то Wget не будет ничего загружать и отобразит соответствующее сообщение.
Однако, при использовании -c любой файл на сервере, имеющий больший размер, чем локальный файл, будет рассматриваться, как недокачанный. При этом будет загружено и записано в конец файла только "(длина(удал.файл) - длина(локал.файл))" байт. Это может пригодиться, елси вам нужно загрузить новые сообщения из какого-либо журнала (log).
При этом если загружаемый файл больше потому, что он изменился, то вы получите поврежденный файл (т.е. файл может в итоге получиться совершенно отличным от оригинала). Нужно быть особенно внимательным при использовании -c вместе с -r, так как каждый измененный файл может быть кандидатом на ``незавершенную загрузку''.
Вы также получите поврежденный файл если ваш сервер прокси HTTP работает глупо и при обрыве соединения пишет в файл сообщение ''transfer interrupted''. Вероятно, в следующих версиях Wget сам будет исправлять это.
Помните, что -c работает только с серверами FTP и HTTP, поддерживающими заголовки "Range" (т.е. докачку файлов).
По умолчанию используется ``bar''. Указание опции --progress=bar приведет к прорисовке красивого индикатора из символов ASCII (как ''термометр''). Если стандартный выход не TTY, то будет использован ``dot''.
Укажите --progress=dot чтобы переключится на тип ``dot''. Прогресс загрузки будет отмечаться добавлением в полосе точки или знака равно, каждый символ представляет одинаковое количество данных.
При использовании этого типа, вы можете указать его стиль - dot:style. Если стиль "default", то каждый символ будет представлять 1 Kб, 10 символов в кластере и 50 в строке. Стиль "binary" имеет более ''компьютерный'' вид - 8Kб в символе, 16 символов в кластере и 48 символов в строке (получается строка на 384 Kб). Стиль "mega" используется для загрузки больших файлов - каждый символ представляет 64Kб, 8 символов в кластере и 48 символов в строке (получается 3 Mб на строку).
Вы можете определить стиль по умолчанию, используя команду "progress" в .wgetrc. Если вы хотите, чтобы тип индикатора ``bar'' использовался всегда (а не только при выводе в stdout), то укажите --progress=bar:force.
wget --spider --force-html -i bookmarks.htmlWget не содержит все возможности "настоящих пауков" для WWW.
Пожалуйста, не снижайте значение времени ожидания, если Вы точно не знаете, что именно делаете.
Указание большого значения этого параметра полезно, если сеть нестабильна (например при обрывах модемной связи).
Это значение указывается по умолчанию в файле wgetrc.
Нельзя забывать, что исходный код Wget доступен, и пэтому даже эту маскировку при желании можно вычислить.
При исчерпании квоты текущий файл загружается до конца, то есть квота не работает при загрузке одного файла. Например, если вы исполниет wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz, то файл ls-lR.gz будет полностью загружен. Также все указанные в командной строке файлы будут обязательно загружены, в отличие от списка файлов в одном файле или как при рекурсивной загрузке.
Указание 0 или inf отменит квоту.
Без параметров -> 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, -nd работает с подкаталогами - например, при -nH --cut-dirs=1 подкаталог beta/ запишется, как xemacs/beta.
Примечание: при обновлении или другой перезагрузке страниц с данным параметром последние будут загружаться заново в любом случае, т.к. Wget не может узнать, имеет ли отношение локальный файл X.html к загружаемому с URL X. Чтобы избежать лишней перезагрузки, используйте опции -k и -K. При этом оригинальные версии файлов будут также сохранены как X.orig.
Можно также указывать имя пользователя и пароль и в самом URL.
По умолчанию кеширование разрешено.
Этот параметр используется при зеркалировании. Для этого Wget отправляет те же cookies, которые отправляет ваш браузер при соединении с сервером HTTP. Это включается данным параметром - просто укажите Wget путь к cookies.txt. Разные браузеры хранят cookie в разных папках:
Если вы не можете использовать параметр --load-cookies, то все равно есть выход. Если ваш обозреватель поддерживает Запишите имя и значение cookie и вручную укажите Wget отправку этих cookie:
wget --cookies=off --header "Cookie: I<name>=I<value>"
С этим параметром, Wget будет игнорировать заголовки "Content-Length".
Вы можете определить несколько дополнительных заголовков через использование --header несколько раз.
wget --header='Accept-Charset: iso-8859-2' \ --header='Accept-Language: hr' \ http://fly.srk.fer.hr/Указание пустой строки в значении заголовка очистит все определенные пользователем до этого заголовки.
Протокол HTTP позволяет определять себя использованием заголовка агента. Wget по умолчанию идентифицируется, как Wget/version, где version - это версия Wget.
Некоторые серверы выдают требуемую информацию только для обозревателей, идентифицирующихся как "Mozilla" или Microsoft "Internet Explorer". Этот параметр позволяет обмануть такие серверы.
Если вы не удаляете .listing, то помните о своей безопасности! Например, с таким именем можно создать символическую ссылку на /etc/passwd или что-то еще.
wget ftp://gnjilux.srk.fer.hr/*.msgПо умолчанию использование символов маски разрешено, если URL содержит такие символы.
Вы можете также взять URL в кавычки. Это сработает только на серверах Unix FTP (и эмулирующих выход Unix "ls").
Параметр --retr-symlinks работает сейчас только для файлов, не для папок.
Помните, что этот параметр не работает при загрузке одиночного файла.
wget -r -nd --delete-after http://whatever.com/~popular/page/Параметр -r включает загрузку по умолчанию, параметр -nd отключает создание папок.
При указанном параметре --delete-after будет игнорироваться параметр --convert-links.
Каждая ссылка изменяется одним из двух способов:
Например: если загруженный файл /foo/doc.html, то ссылка на также загруженный файл /bar/img.gif будет выглядеть, как ../bar/img.gif. Этот способ работает, если есть видимое соотношение между папками одного и другого файла.
Например: если загруженный файл /foo/doc.html содержит ссылку на /bar/img.gif (или на ../bar/img.gif), то ссылка в файле doc.html изменится на http://host/bar/img.gif.
Благодаря этому, возможен автономный просмотр сайта и файлов: если загружен файл, на который есть ссылка, то ссылка будет указывать на него, если нет - то ссылка будет указывать на его адрес в интернет (если такой существует). При конвертировании используются относительные ссылки, значит вы сможете переносить загруженный сайт в другую папку, не меняя его структуру.
Только после завершения загрузки Wget знает, какие файлы были загружены. Следовательно, при параметре -k конвертация произойдет только по завершении загрузки.
По умолчанию такие файлы не загружаются. Параметры -r и -l, указанные вместе могут помочь, но т.к. Wget не различает внешние и внутренние документы, то нет гарантии, что загрузится все требуемое.
Например, 1.html содержит тег "<IMG>", со ссылкой на 1.gif, и тег "<A>", ссылающийся на внешний документ 2.html. Страница 2.html аналогична, но ее рисунок - 2.gif и ссылается она на 3.html. Скажем, это продолжается до определенного числа.
Если будет дана команда:
wget -r -l 2 http://I<site>/1.htmlто 1.html, 1.gif, 2.html, 2.gif и 3.html загрузятся. Как видим, 3.html без 3.gif, т.к. Wget просто считает число прыжков, по которым он перешел, доходит до 2 и останавливается. А при параметрах:
wget -r -l 2 -p http://I<site>/1.htmlВсе файлы и рисунок 3.gif страницы 3.html загрузятся. Аналогично
wget -r -l 1 -p http://I<site>/1.htmlприведет к загрузке 1.html, 1.gif, 2.html и 2.gif. Чтобы загрузить одну указанную страницу HTML со всеми ее элементами, просто не указывайте -r и -l:
wget -p http://I<site>/1.htmlПри этом Wget будет себя вести, как при параметре -r, но будут загружены страница и ее вспомогательные файлы. Если вы хотите, чтобы вспомогательные файлы на других серверах (т.е. через абсолютные ссылки) были загружены, используйте:
wget -E -H -k -K -p http://I<site>/I<document>И в завершении, нужно сказать, что для Wget внешняя ссылка - это URL, указанный в тегах "<A>", "<AREA>" и "<LINK>", кроме "<LINK REL="stylesheet">".
Раньше параметр -G был лучшим для загрузки отдельных страниц с их вспомогательными файлами. Вы можете посмотреть, как это было, указав команду
wget -Ga,area -H -k -K -r http://I<site>/I<document>Но теперь лучшим параметром для загрузки одной страницы полностью считается --page-requisites.
wget http://fly.srk.fer.hr/
wget --tries=45 http://fly.srk.fer.hr/jpg/flyweb.jpg
wget -t 45 -o log http://fly.srk.fer.hr/jpg/flyweb.jpg &Символ амперсанда в конце указывает командному интерпретатору продолжать работу, не дожидаясь завершения работы Wget. Чтобы программа делала повторы бесконечно - используйте -t inf.
wget ftp://gnjilux.srk.fer.hr/welcome.msg
wget ftp://prep.ai.mit.edu/pub/gnu/ links index.html
wget -i I<file>Если вы укажете - вместо имени файла, то URL будут читаться из стандартного ввода (stdin).
wget -r http://www.gnu.org/ -o gnulog
wget --convert-links -r http://www.gnu.org/ -o gnulog
wget -p --convert-links http://www.server.com/dir/page.htmlСтраница HTML будет сохранена в www.server.com/dir/page.html и рисунки, каскадные стили и прочее будет сохранено в папке www.server.com/, кроме случая, когда файлы будут загружаться с других серверов.
wget -p --convert-links -nH -nd -Pdownload \ http://www.server.com/dir/page.html
wget -S http://www.lycos.com/
wget -s http://www.lycos.com/ more index.html
wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu/
wget -r -l1 --no-parent -A.gif http://www.server.com/dir/-r -l1 включает рекурсивную загрузку с максимальной глубиной 1. --no-parent выключает следование по ссылкам в родительскую папку, имеющую верхний уровень, -A.gif разрешает загружать только файлы с расширением .GIF. -A ``*.gif'' также будет работать.
wget -nc -r http://www.gnu.org/
wget ftp://hniksic:[email protected]/.emacs
wget -O - http://jagor.srce.hr/ http://www.srce.hr/Если вы хотите устроить конвейер и загрузить все сайты, ссылки на которые указаны на одной странице:
wget -O - http://cool.list.com/ | wget --force-html -i -
crontab 0 0 * * 0 wget --mirror http://www.gnu.org/ -o /home/me/weeklog
wget --mirror --convert-links --backup-converted \ http://www.gnu.org/ -o /home/me/weeklog
wget --mirror --convert-links --backup-converted \ --html-extension -o /home/me/weeklog \ http://www.gnu.org/С краткими аналогами команд:
wget -m -k -K -E http://www.gnu.org/ -o /home/me/weeklog
Перед отправкой:
Не спешите отправлять .wgetrc, попробуйте проделать все действия, приведшие к ошибке с другим файлом настроек (или вообще без него).
Это свободное программное обеспечение; условия копирования ищите в исходных текстах. НЕ существует никаких гарантий; программа НЕ предназначена для ПРОДАЖ.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |