Полный цикл в digital

Утилита wget в Linux

Это очень мощная утилита, способная работать по протоколам HTTP, HTTPS и FTP. Кроме того поддерживается работа через прокси. Команда wget, может выполнять загрузку файлов даже в фоновом режиме - без участия пользователя, в отличии от большинства веб браузеров.

Синтаксис

wget опции адрес_ссылки

Опции

  • -V, --version вывести версию программы
  • -h, --help вывести справку
  • -b, --background работать в фоновом режиме
  • -o, --out-file указать лог файл
  • -d, --debug включить режим отладки
  • -v, --verbose выводить максимум информации о работе утилиты
  • -q, --quiet выводить минимум информации о работе
  • -i, --input-file прочитать URL из файла
  • --force-html читать файл указанный в предыдущем параметре как html
  • -t, --tries количество попыток подключения к серверу
  • -O, --output-document файл в который будут сохранены полученные данные
  • -с, --continue продолжить ранее прерванную загрузку
  • -S, --server-response вывести ответ сервера
  • --spider проверить работоспособность URL
  • -T, --timeout таймаут подключения к серверу
  • --limit-rate ограничить скорость загрузки
  • -w, --wait интервал между запросами
  • -Q, --quota максимальный размер загрузки
  • -4, --inet4only использовать протокол ipv4
  • -6, --inet6only использовать протокол ipv6
  • -U, --user-agent строка USER AGENT отправляемая серверу
  • -r, --recursive рекурсивная работа утилиты
  • -l, --level глубина при рекурсивном сканировании
  • -k, --convert-links конвертировать ссылки в локальные при загрузке страниц
  • -P, --directory-prefix каталог, в который будут загружаться файлы
  • -m, --mirror скачать сайт на локальную машину
  • -p, --page-requisites во время загрузки сайта скачивать все необходимые ресурсы

Загрузка файла

Команда wget скачает один файл и сохранит его в текущей директории. Во время загрузки мы увидим прогресс, размер файла, дату его последнего изменения, а также скорость загрузки:

wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

Сохранить файл с другим именем

Опция позволяет задать имя сохраняемому файлу, скачать файл с именем wget.zip:

wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

Скачать несколько файлов

Вы можете скачать несколько файлов одной командой даже по разным протоколам, просто указав их URL:

wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz ftp://ftp.gnu.org/gnu/wget/wget-1.10.1.tar.gz.sig

Взять URL из файла

Вы можете сохранить несколько URL в файл, а затем загрузить их все, передав файл опции -i. Например создадим файл tmp.txt, со ссылками для загрузки wget, а затем скачаем его:

wget -i /wget/tmp.txt

Продолжить загрузку

Утилита wget рассчитана на работу в медленных и нестабильных сетях. Поэтому если вы загружали большой файл, во время загрузки было потеряно соединение, то вы можете скачать файл wget с помощью опции -c:

wget -c http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

Загрузка файлов в фоне

Опция -b заставляет программу работать в фоновом режиме, весь вывод будет записан в лог файл, для настройки лог файла используются специальные ключи:

wget -b -o ~/wget.log http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

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

Команда позволяет не только продолжать загрузку файлов, но и ограничивать скорость загрузки. Для этого есть опция --limit-rate. Например ограничим скорость до 100 килобит:

wget --limit-rate=100k ftp://ftp.iinet.net.au/debian/debian-cd/8.4.0/amd64/iso-dvd/debian-8.4.0-amd64-DVD-1.iso

Здесь доступны, как и в других подобных командах индексы для указания скорости - k - килобит, m - мегабит, g - гигабит, и так далее.

Подключение по логину и паролю

Некоторые ресурсы требуют аутентификации, для загрузки их файлов. С помощью опций --http-user=username, –http-password=password и --ftp-user=username, --ftp-password=password вы можете задать имя пользователя и пароль для HTTP или FTP ресурсов.

wget --http-user=narad --http-password=password http://mirrors.hns.net.in/centos/6.3/isos/x86_64/CentOS-6.3-x86_64-LiveDVD.iso
wget --ftp-user=narad --ftp-password=password ftp://ftp.iinet.net.au/debian/debian-cd/6.0.5/i386/iso-dvd/debian-6.0.5-i386-DVD-1.iso

Загрузить и выполнить

Wget позволяет сразу же выполнять скачанные скрипты. Если опции -O не передать аргументов, то скачанный файл будет выведен в стандартный вывод, затем мы его можем перенаправить интерпретатору bash, как показано выше:

wget -O - http://сайт/скрипт.sh | bash

Сохранить файл в папке

По умолчанию wget сохраняет файл в текущую папку, но это поведение очень легко изменить с помощью опции -P:

wget -P ~/Downloads/ http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz

Передать информацию о браузере

Некоторые сайты фильтруют ботов, но мы можем передать фальшивую информацию о нашем браузере user-agent и страницу с которой мы пришли http-referer:

wget ‐‐refer=http://google.com ‐‐user-agent=”Mozilla/5.0 Firefox/4.0.1″ //losst.pro

Количество попыток загрузки

По умолчанию wget пытается повторить загрузку 20 раз, перед тем как завершить работу с ошибкой. Количество раз можно изменить с помощью опции --tries:

wget --tries=75 http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

Квота загрузки

Если вам доступно только ограниченное количество трафика, вы можете указать утилите, какое количество информации можно скачивать, например разрешим скачать файлов из списка только на десять мегабайт:

wget -Q10m -i download-list.txt

Здесь работают те же индексы для указания размера.

Скачать сайт

Wget позволяет не только скачивать одиночные файлы, но и целые сайты, чтобы вы могли их потом просматривать в офлайне. Использование wget, чтобы скачать сайт в linux выглядит вот так:

wget --mirror -p --convert-links -P ./папка адрес_сайта
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг