Wget

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску
GNU Wget
Тип Менеджер закачек
Разработчик Mauro Tortonesi
Написана на C[1]
ОС GNU, UNIX, Microsoft Windows, Windows NT
Версия 1.12 (22 сентября 2009[2])
Лицензия GNU GPL
Сайт gnu.org/software/wget/

Wget[3] — свободная не-интерактивная консольная программа для загрузки файлов по сети. Поддерживает протоколы 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)[4]:

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

Использование имя пользователя и пароля на FTP/HTTP (вариант 1):

  wget ftp://login:password@ftp.example.org/some_file.iso


Использование имя пользователя и пароля на FTP/HTTP (вариант 2):

  wget --user=login --password=password 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 -l 10 http://example.org/ -o log

Скачать содержимое каталога http://example.org/~luzer/my-archive/ и всех его подкаталогов, при этом не поднимаясь по иерархии каталогов выше:

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

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

  wget -r -l 10 -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/

Возвращаемый статус

До версии 1.12, возвращает 0 при успешном выполнении и 1 в случае ошибки. Начиная с версии 1.12[5], в случае ошибки возвращает от 1 до 8, в зависимости от вида.

Критика

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

В некоторых случаях хорошей альтернативой может являться cURL, а для создания зеркал сайтов (чего cURL не умеет[6]) обычно используется rsync.

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

Примечания

  1. http://www.ohloh.net/p/wget
  2. http://ftp.gnu.org/gnu/wget/
  3. В силу принятых в *nix-системах соглашений в командной строке эта программа вызывается словом, начинающимся со строчной буквы: wget
  4. Руководство GNU wget
  5. wget manual Возвращаемый статус (en)
  6. cURL FAQ: «Curl is not a web site mirroring program.»
  7. Чтобы в консоли Windows использовалась кодировка Windows-1251, используется команда "chcp 1251"

См. также

Ссылки

ar:وجت cs:Wget de:Wget en:Wget es:GNU Wget fr:Wget id:Wget it:Wget ja:GNU Wget pl:Wget pt:Wget uk:Wget zh:Wget

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....