Как скачать веб-страницы и файлы с помощью wget

Wget Утилита позволяет загружать веб-страницы, файлы и изображения из Интернета с помощью командной строки Linux.

Вы можете использовать один Wget Самостоятельная команда для загрузки с сайта или настройка входного файла для загрузки нескольких файлов с нескольких сайтов.

Согласно странице руководства, Wget может использоваться, даже если пользователь вышел из системы. Для этого вы должны использовать поЬир команда.

Wget Утилита повторит загрузку, даже если соединение разорвано, и возобновит его с того места, где оно было прервано, если возможно, когда соединение вернется.

Вы можете скачать целые сайты, используя Wget и преобразуйте ссылки, чтобы они указывали на локальные источники, чтобы вы могли просматривать веб-сайт в автономном режиме.

Особенности Wget следующие:

  • Загрузка файлов с использованием HTTP, HTTPS и FTP
  • Возобновить загрузку
  • Преобразуйте абсолютные ссылки на загруженных веб-страницах в относительные URL-адреса, чтобы веб-сайты можно было просматривать в автономном режиме.
  • Поддерживает HTTP прокси и куки
  • Поддерживает постоянные соединения HTTP
  • Может работать в фоновом режиме, даже если вы не вошли в систему
  • Работает на Linux и Windows

Как скачать сайт с помощью wget

Из этого руководства вы узнаете, как загрузить этот блог Linux.

wget www.everydaylinuxuser.com

Стоит создать собственную папку на вашем компьютере, используя MkDir команда, а затем перейти в папку с помощью компакт диск команда.

Например:

mkdir dailylinuxuser
cd dailylinuxuser
wget www.everydaylinuxuser.com

В результате получается один файл index.html. Сам по себе этот файл довольно бесполезен, поскольку контент по-прежнему извлекается из Google, а изображения и таблицы стилей все еще хранятся в Google.

Для загрузки всего сайта и всех страниц вы можете использовать следующую команду:

wget -r www.everydaylinuxuser.com

Это загружает страницы рекурсивно до максимум 5 уровней.

Глубоких пяти уровней может быть недостаточно, чтобы получить все с сайта. Вы можете использовать -L установите количество уровней, на которые вы хотите перейти, следующим образом:

wget -r -l10 www.everydaylinuxuser.com

Если вы хотите бесконечную рекурсию, вы можете использовать следующее:

wget -r -l inf www.everydaylinuxuser.com

Вы также можете заменить инф с 0, что означает то же самое.

Есть еще одна проблема. Вы можете получить все страницы локально, но все ссылки на страницах по-прежнему указывают на их первоначальное место. Поэтому невозможно локально переходить между ссылками на страницах.

Вы можете обойти эту проблему, используя переключатель, который преобразует все ссылки на страницах, чтобы они указывали на их локально загруженный эквивалент следующим образом:

wget -r -k www.everydaylinuxuser.com

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

wget -m www.everydaylinuxuser.com

Поэтому, если у вас есть собственный веб-сайт, вы можете сделать полную резервную копию с помощью этой простой команды.

Запустите wget в качестве фоновой команды

Ты можешь получить Wget запуск в качестве фоновой команды, позволяющей продолжить работу в окне терминала во время загрузки файлов.

Просто используйте следующую команду:

wget -b www.everydaylinuxuser.com

Можно, конечно, комбинировать переключатели. Чтобы запустить Wget В фоновом режиме при зеркалировании сайта вы должны использовать следующую команду:

wget -b -m www.everydaylinuxuser.com

Вы можете упростить это далее следующим образом:

wget -bm www.everydaylinuxuser.com

логирование

Если вы работаете Wget Команда в фоновом режиме вы не увидите ни одного нормального сообщения, которое он отправляет на экран.

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

Для вывода информации из Wget введите команду в файл журнала, используя следующую команду:

wget -o / path / to / mylogfile www.everydaylinuxuser.com

Обратное, конечно, заключается в том, чтобы вообще не требовать регистрации и вывода на экран. Чтобы опустить все выходные данные, используйте следующую команду:

wget -q www.everydaylinuxuser.com

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

Вы можете настроить входной файл для загрузки с разных сайтов.

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

Сохраните файл и запустите следующее Wget команда:

wget -i / path / to / inputfile

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

Вы с большей вероятностью загрузите один URL с изображениями или, возможно, загрузите файлы, такие как ZIP-файлы, ISO-файлы или файлы изображений.

Имея это в виду, вам не нужно вводить следующее во входной файл, так как это отнимает много времени:

  • http://www.myfileserver.com/file1.zip
  • http://www.myfileserver.com/file2.zip
  • http://www.myfileserver.com/file3.zip

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

  • file1.zip
  • file2.zip
  • file3.zip

Затем вы можете предоставить базовый URL как часть Wget команда следующим образом:

wget -B http://www.myfileserver.com -i / path / to / inputfile

Варианты повтора

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

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

wget -t 10 -i / path / to / inputfile

Вы можете использовать вышеупомянутую команду в сочетании с -T переключатель, который позволяет указать время ожидания в секундах следующим образом:

wget -t 10 -T 10 -i / path / to / inputfile

Вышеуказанная команда будет повторяться 10 раз и будет пытаться подключиться в течение 10 секунд для каждой ссылки в файле.

Это также довольно раздражает, когда вы частично загрузили 75% 4-гигабайтного файла по медленному широкополосному соединению только для вашего соединения, чтобы оборваться.

Вы можете использовать Wget повторить попытку с того места, где оно остановилось, с помощью следующей команды:

wget -c www.myfileserver.com/file1.zip

Если вы забиваете сервер, хосту это может не понравиться, и он может либо заблокировать, либо просто убить ваши запросы.

Вы можете указать период ожидания, который указывает, как долго ждать между каждым поиском, следующим образом:

wget -w 60 -i / path / to / inputfile

Вышеуказанная команда будет ждать 60 секунд между каждой загрузкой. Это полезно, если вы загружаете много файлов из одного источника.

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

wget --random-wait -i / path / to / inputfile

Защита лимитов загрузки

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

Вы можете добавить квоту, чтобы не превышать этот лимит загрузки. Вы можете сделать это следующим образом:

wget -q 100m -i / path / to / inputfile

Обратите внимание, что -Q Команда не будет работать с одним файлом. Таким образом, если вы загружаете файл размером 2 гигабайта, используя -Q 1000м не остановит загрузку файла.

Квота применяется только при рекурсивной загрузке с сайта или при использовании входного файла.

Пройдя через безопасность

Некоторые сайты требуют, чтобы вы имели доступ к содержимому, которое вы хотите загрузить.

Вы можете использовать следующие параметры, чтобы указать имя пользователя и пароль.

wget --user = yourusername --password = ваш пароль

Обратите внимание на многопользовательскую систему, если кто-то запускает п.с. По команде они смогут увидеть ваше имя пользователя и пароль.

Другие варианты загрузки

По умолчанию Коммутатор будет рекурсивно загружать контент и будет создавать каталоги по мере необходимости.

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

wget -nd -r

Противоположностью этому является принудительное создание каталогов, что может быть достигнуто с помощью следующей команды:

wget -x -r

Как скачать некоторые типы файлов

Если вы хотите выполнить рекурсивную загрузку с сайта, но хотите загрузить только файл определенного типа, например .mp3, или изображение, например .png, вы можете использовать следующий синтаксис:

wget -A "* .mp3" -r

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

wget -R "* .exe" -r

Cliget

Существует дополнение для Firefox под названием cliget. Вы можете добавить это в Firefox следующим образом:

  1. Посетите https://addons.mozilla.org/en-US/firefox/addon/cliget/ и нажмите добавить в Firefox кнопка. 
  2. Нажмите на устанавливать кнопку, когда он появится, и вам потребуется перезагрузить Firefox.
  3. Чтобы использовать кликет, посетите страницу или файл, который вы хотите загрузить, и щелкните правой кнопкой мыши. Появится контекстное меню с именем cliget, и будут доступны варианты скопировать в Wget а также копировать в локон.
  4. Нажмите на скопировать в wget вариант и откройте окно терминала, а затем щелкните правой кнопкой мыши и вставить. Соответствующий Wget Команда будет вставлена ​​в окно.

По сути, это избавляет вас от необходимости набирать команду самостоятельно.

Резюме

Wget Команда как огромное количество опций и переключателей.

Поэтому стоит прочитать страницу руководства для Wget набрав в окне терминала следующее:

человек Wget
Ссылка на основную публикацию