MyTetra Share
Делитесь знаниями!
http://www.maxim-stroy.ru/catalog/group52784/ аэрозоли аэрозоли Kim Tec.
http://euromarca.ru/ купить детские сандалии для мальчиков.
wget - основные параметры
25.01.2009
14:31
Текстовые метки: wget, download
Раздел: Компьютер - Linux - Сеть в Linux

Программа wget закачивает сайты и отдельные файлы в текущую директорию (в директорию, где была запущена программа wget).

Скачивание одного файла

Чтобы скачать файл с помощью wget, можно воспользоваться такой командной строкой

wget -t 45 -c --server-response --referer=http://letitbit.net/6f75c/niko.avi.html http://r103.letitbit.net/download/6f75c/niko.avi

где

  • -t 45 - количество повторов в случае разрыва соединения
  • -c - режим докачки. Указывает wget продолжать закачку файла. Если файл в текущей директории уже есть, на сервер будет отправлен запрос на продолжение закачки
  • --server-response - выдавать на экран протокол ответа сервера
  • --referer=... - указывает referer URL. Параметр необходим для закачки с тех серверов, которые проверяют referer URL, и не дают скачать файл если он не принадлежит данному серверу
  • посделаний параметр - URL скачивемого файла. Он будет положен в текущую директорию

Скачивание списка файлов

Если есть файл, внутри которого находится список файлов для скачивания (один URL на одной строке), то закачать по такому списку можно командой

wget -i linkfile.txt

Ограничение скорости закачки

Для ограничения скорости закачки можно воспользоваться параметром

--limit-rate=10K

в данном случае скорость будет ограничена 10 Кб/сек.

Скачивание файлов по шаблону

При перекачке по FTP можно в именах файлов указывать шаблоны (естественно, "закавычивая" их). Например, команда

wget 'ftp://nsk.su/pub/Linux/redhat-5.2/updates/i386/XFree86*.rpm'

скачает все обновления к системе XFree86.

Рекурсивное скачивание сайтов

Для рекурсивного скачивания используются ключи "-r", "-l" и "-np". Ключ "-r" (recursive) включает рекурсивность. Ключ "-l" (level) позволяет указать насколько "глубоко" программа должна следовать по ссылкам; 0 -- бесконечно глубоко, по умолчанию установлено 5. Ключ "-np" (no parent) запрещает следовать ссылкам выше указанной директории. Ключ "-k" указывает что ссылки внутри html файлов будут преобразованы так, чтобы была нормальная навигация при локальном просмотре

При рекурсивном скачивании wget автоматически создает соответствующее дерево директорий.

К примеру, следующая команда могла бы использоваться для скачивания целого домашнего сайта (адрес вымышленный):

wget -r -l 0 -np -k http://www.h-hosts.com/users/goofy/

При этом файлы будут помещаться в директорию ./www.h-hosts.com/users/goofy/.

Если загрузка данных была случайно прервана, то для возобновления закачки с места останова, необходимо в команду добавить ключ -с

wget -r -l 0 -np -k http://www.h-hosts.com/users/goofy/ -с

Замечание. Wget, будучи культурной программой, при рекуррентном скачивании уважает т.н. "Протокол Web-роботов", и может пропускать часть файлов (запрещенных в файле robots.txt на сервере). Чтобы отключить эту "культурность", можно воспользоваться ключом "-e robots=off". Почитать про Протокол Web-роботов можно в info-документации по Wget, воспользовавшись командой info wget appendices robots.

Скачивание с сайта только определенного контента

Можно воспользоваться командой вида

wget -rkpE -A jpg,png,gif,css http://somesite.com

Этой командой будет скачан сайт somesite.com рекурсивно, то есть все ссылки на html файлы, которые будут найдены в index.html этого сайта, будут обработаны и скачаны, с них тоже будет все скачано и т. д.

Опция -А ограничивает скачиваемый контент по допустимым расширениям, таким образом запрещая скачивать, к примеру, tar.gz архивы. При этих условиях wget не пойдет дальше указаного домена и, кроме того, будет скачивать только те реквизиты (-p, т.е. картинки и стили) которые расположены на том же сайте.

Однако, добавив опцию -H можно нечаянно создать локальную копию интернета в пределах 5 рекурсивных ссылок. Надо быть осторожным. Но и для этого есть опция -l - задающая уровень скачиваемой вложенности.

Закачка в фоновом режиме

При указании ключа "-b" (background) программа сразу переходит в фоновый режим, так что пользователь может заниматься другими делами или даже выйти из системы, а wget будет продолжать свою работу.

Сообщения, которые выдавались бы на экран, будут идти в файл wget.log (а если он уже есть, то в wget.log.1, wget.log.2 и т.д.). Эти лог-файлы формируются в текущей директории.

Пример:

bobby:~/soft% wget -b http://www.mit.edu/afs/sipb/user/xiphmont/cdpa

ranoia/download/cdparanoia-III-alpha9.5.src.tgz

Continuing in background.

Output will be written to `wget-log'.

bobby:~/soft% _

Для просмотра log-файла по мере скачивания удобно пользоваться командой "tail -f":

bobby:~/soft% tail -f wget-log

Использование прокси-серверов

Wget умеет пользоваться прокси-серверами как для HTTP, так и для FTP. Достаточно перед вызовом программы присвоить адрес прокси-сервера переменным окружения http_proxy или ftp_proxy соответственно (имена маленькими буквами!).

Wget понимает как "официальное" указание адреса, так и сокращенное. Поэтому команды

export http_proxy=http://proxy.nsc.ru:8080/

и

export http_proxy=proxy.nsc.ru:8080

эквивалентны.

Так же в этом разделе:
← Содержание ...
 
MyTetra Share v.0.35
Яндекс индекс цитирования