Как сделать

Как использовать команду wget Linux для загрузки веб-страниц и файлов

Linux Wget

Утилита wget загружает веб-страницы, файлы и изображения из Интернета с помощью командной строки Linux . Вы можете использовать одну команду wget для загрузки с сайта или настроить входной файл для загрузки нескольких файлов с нескольких сайтов. Согласно странице руководства, wget может использоваться, даже когда пользователь вышел из системы. Для этого используйте команду nohup.

Особенности команды wget

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

Другие особенности wget:

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

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

wget www.everydaylinuxuser.com

Прежде чем начать, создайте папку на своем компьютере с помощью команды mkdir , а затем перейдите в папку с помощью команды cd .

Например:

mkdir dailylinuxuser 
cd
dailylinuxuser wget www.everydaylinuxuser.com

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

Linux Wget

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

wget -r www.everydaylinuxuser.com

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

wget -r -l10 www.everydaylinuxuser.com

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

wget -r -l inf www.everydaylinuxuser.com

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

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

Linux wget скачать файл

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

wget -r -k www.everydaylinuxuser.com

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

wget -m www.everydaylinuxuser.com

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

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

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

wget -b www.everydaylinuxuser.com
Linux wget фоновый процесс

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

wget -b -m www.everydaylinuxuser.com

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

wget -bm www.everydaylinuxuser.com

логирование

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

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

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

wget -q www.everydaylinuxuser.com

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

Вы можете настроить входной файл для загрузки с разных сайтов. Откройте файл с помощью вашего любимого редактора или команды cat и перечислите сайты или ссылки для загрузки в каждой строке файла. Сохраните файл, а затем выполните следующую команду 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 1000m не останавливает загрузку файла.

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

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

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

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

В многопользовательской системе, когда кто-то запускает команду ps , он видит ваше имя пользователя и пароль.

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

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

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, перейдите на страницу или файл, который вы хотите загрузить, и щелкните правой кнопкой мыши. Появится контекстное меню с именем cliget, и есть варианты скопировать в wget и скопировать в curl .

  4. Нажмите кнопку « Копировать в wget» , откройте окно терминала, затем щелкните правой кнопкой мыши и выберите « Вставить» . Соответствующая команда wget вставляется в окно.

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

Резюме

человек Wget
Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone