Wget

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
GNU Wget
Тип Менеджер закачек
Разработчик Mauro Tortonesi
ОС GNU, UNIX, Microsoft Windows, Windows NT
Версия 1.11.4 — 30 июня 2008[1]
Лицензия GNU GPL
Сайт gnu.org/software/wget/

Wget[2] — свободная не-интерактивная программа для загрузки файлов по сети. Поддерживает протоколы HTTP, FTP и HTTPS, а также поддерживает работу через HTTP прокси-сервер. Программа включена почти во все Linux-дистрибутивы.

Wget является не-интерактивной программой. Это означает, что после её запуска пользователь не может повлиять на её работу, кроме как повлиять на выполнение программы посредством сигнала (утилита kill) или нажатием на клавиатуре Ctrl-C в терминале. В то время как большинство web-браузеров рассчитаны на постоянное интерактивное взаимодействие с пользователем, и скачивание большого количества файлов вручную может быть утомительным. Wget поддерживает загрузку URL, указанных в файле. Таким образом, можно составить список файлов, а в любое удобное время скачать их с помощью wget.

Wget позволяет загружать любые файлы во всемирной паутине (в том числе и (X)HTML-страницы) по протоколам http и https, а также файлы и списки директорий по протоколу ftp.

Файлы можно скачивать рекурсивно по ссылкам в html страницах, как с одного сайта с определённой глубиной следования по ссылкам, так и с нескольких. Помимо этого, при загрузке по ftp файлы можно скачивать «по маске» имени (то есть можно задавать с помощью «*» группу файлов).

Wget поддерживает докачку файла в случае обрыва соединения.

Содержание

[править] Примеры

Загрузка всех URL, указанных в файле FILE:

wget -i FILE

Скачивание файла в указанный каталог (-P)[3]:

wget -P /path/for/save ftp://ftp.example.org/some_file.iso

Скачивание в фоновом режиме (-b):

wget -b ftp://ftp.example.org/some_file.iso

Продолжить (-c continue) загрузку ранее не полностью загруженного файла:

wget -c http://example.org/file.iso

Скачать страницу с глубиной следования 10, записывая протокол в файл log:

wget -r -l10 http://example.org/ -o log

Скачать содержимое каталога

http://example.org/~luzer/my-archive/

и всех его подкаталогов, при этом не поднимаясь по иерархии каталогов выше:

wget -r --no-parent http://example.org/~luzer/my-archive/

Для того чтобы во всех скачанных страницах ссылки преобразовывались в относительные для локального просмотра, необходимо использовать ключ -k:

wget -r -l10 -k http://example.org/

Также поддерживается идентификация на сервере:

wget --save-cookies cookies.txt \
     --post-data 'user=foo&password=bar' \
     http://example.org/auth.php

Скопировать весь сайт целиком:

wget -r -l 0 -k http://example.org/

[править] Критика

Разработка Wget идёт медленно, многие новые расширения протоколов HTTP, FTP, сценарии JavaScript и другие функции не поддерживаются. Кроме того, программа не предоставляет достаточную гибкость для своей автоматизации.

Хорошей альтернативой является cURL, а для создания зеркал сайтов обычно используется rsync.

В версии для Win32 программа в консоли пишет в кодировке Windows-1251, в то время как сама Windows это делает в cp866. Следовательно, под Windows правильно установленным Wget с поддержкой локализации (gnuwin32.sourceforge.net) пользоваться достаточно проблематично.

[править] Примечания

  1. http://ftp.gnu.org/gnu/wget/
  2. В силу принятых в *nix-системах соглашений в командной строке эта программа вызывается словом, начинающимся со строчной буквы: wget
  3. Руководство GNU wget

[править] См. также

[править] Ссылки

Портал:Свободное программное обеспечение
В Википедии есть портал
«Свободное программное обеспечение»
Источник — «http://ru.wikipedia.org/wiki/Wget»