Утилита wget загружает веб-страницы, файлы и изображения из Интернета с помощью командной строки Linux. Вы можете использовать одну команду wget для загрузки с сайта или настроить входной файл для загрузки нескольких файлов с нескольких сайтов. Согласно странице руководства, wget можно использовать, даже если пользователь вышел из системы. Для этого используйте команду nohup.
Особенности команды wget
Вы можете загружать целые сайты с помощью wget, и преобразовать ссылки, чтобы они указывали на локальные источники, чтобы вы могли просматривать веб-сайт в автономном режиме. Утилита wget также повторяет загрузку при разрыве соединения и возобновляет его с того места, где оно было прервано, если возможно, после восстановления соединения.
Другие особенности wget следующие:
- Загружайте файлы с помощью HTTP, HTTPS и FTP.
- Возобновить загрузки.
- Преобразуйте абсолютные ссылки на загруженных веб-страницах в относительные URL-адреса, чтобы веб-сайты можно было просматривать в автономном режиме.
- Поддерживает HTTP-прокси и файлы cookie.
- Поддерживает постоянные HTTP-соединения.
- Может работать в фоновом режиме, даже если вы не вошли в систему.
- Работает в Linux и Windows.
Как скачать сайт с помощью wget
Из этого руководства вы узнаете, как загрузить этот блог Linux:
wget www.ever
Прежде чем начать, создайте папку на своем компьютере с помощью команды mkdir, а затем перейдите в папку с помощью команды cd.
Например:
mkdir каждый день
cd каждый день
wget www.ever
В результате получается единственный файл index.html, содержащий контент, извлеченный из Google. Изображения и таблицы стилей хранятся в Google.
Чтобы загрузить весь сайт и все страницы, используйте следующую команду:
wget -r www.ever
Это рекурсивно загружает страницы максимум на 5 уровней. Пяти уровней глубины может быть недостаточно, чтобы получить все с сайта. Использовать -l переключатель, чтобы установить количество уровней, на которые вы хотите перейти, следующим образом:
wget -r -l10 www.ever
Если вам нужна бесконечная рекурсия, используйте следующее:
wget -r -l inf www.ever
Вы также можете заменить инф с 0, что означает то же самое.
Есть еще одна проблема. Вы можете получить все страницы локально, но ссылки на страницах указывают на исходное место. Переходить между ссылками на страницах локально невозможно.
Чтобы обойти эту проблему, используйте -k переключитесь, чтобы преобразовать ссылки на страницах, чтобы они указывали на локально загруженный эквивалент, как показано ниже:
wget -r -k www.ever
Если вы хотите получить полное зеркало веб-сайта, используйте следующий переключатель, который устраняет необходимость использования -r, -kи -l переключатели.
wget -m www.ever
Если у вас есть веб-сайт, вы можете сделать полную резервную копию с помощью этой простой команды.
Запустить wget как фоновую команду
Вы можете запустить wget в качестве фоновой команды, чтобы вы могли продолжить свою работу в окне терминала во время загрузки файлов. Используйте следующую команду:
wget -b www.ever
Вы можете комбинировать переключатели. Чтобы запустить команду wget в фоновом режиме при зеркальном отображении сайта, используйте следующую команду:
wget -b -m www.ever
Вы можете упростить это следующим образом:
wget -bm www.ever
Запись
Если вы запустите команду wget в фоновом режиме, вы не увидите никаких обычных сообщений, которые она отправляет на экран. Чтобы отправить эти сообщения в файл журнала, чтобы вы могли в любое время проверить прогресс, используйте команду tail.
Чтобы вывести информацию из команды wget в файл журнала, используйте следующую команду:
wget -o / путь / к / mylogfile www.ever
Обратное — вообще не требовать регистрации и вывода на экран. Чтобы пропустить весь вывод, используйте следующую команду:
wget -q www.ever
Скачать с нескольких сайтов
Вы можете настроить входной файл для загрузки с разных сайтов. Откройте файл, используя ваш любимый редактор или команду cat, и укажите сайты или ссылки для загрузки в каждой строке файла. Сохраните файл, а затем выполните следующую команду wget:
wget -i /
Помимо резервного копирования вашего веб-сайта или поиска того, что можно загрузить для чтения в автономном режиме, маловероятно, что вы захотите загрузить весь веб-сайт. Вы с большей вероятностью загрузите один 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 /
Параметры повтора
Если вы настроили очередь файлов для загрузки во входном файле и оставите свой компьютер работающим для загрузки файлов, входной файл может зависнуть, пока вас нет, и вы попытаетесь загрузить контент. Вы можете указать количество повторных попыток с помощью следующего переключателя:
wget -t 10 -i /
Используйте указанную выше команду вместе с -T переключатель, чтобы указать тайм-аут в секундах, как показано ниже:
wget -t 10 -T 10 -i /
Вышеупомянутая команда повторит попытку 10 раз и будет подключаться в течение 10 секунд для каждой ссылки в файле.
Также неудобно, когда вы загружаете 75% 4-гигабайтного файла по медленному широкополосному соединению только для разрыва соединения. Чтобы использовать wget, чтобы повторить попытку с того места, где он остановил загрузку, используйте следующую команду:
wget -c www.myfileser
Если вы забьете сервер, хосту это может не понравиться, и он может заблокировать или убить ваши запросы. Вы можете указать период ожидания, чтобы указать, как долго ждать между каждым извлечением, следующим образом:
wget -w 60 -i /
Вышеупомянутая команда ждет 60 секунд между каждой загрузкой. Это полезно, если вы загружаете много файлов из одного источника.
Некоторые веб-хосты могут определить частоту и заблокировать вас. Вы можете сделать период ожидания случайным, чтобы создать впечатление, будто вы не используете программу, следующим образом:
wget —random-wait -i /
Защитить ограничения загрузки
Многие интернет-провайдеры применяют ограничения на загрузку для использования широкополосного доступа, особенно для тех, кто живет за пределами города. Вы можете добавить квоту, чтобы не превысить лимит загрузки. Сделать это можно следующим образом:
wget -q 100m -i /
Это -q команда не будет работать с одним файлом. Если вы загружаете файл размером 2 гигабайта, используя -q 1000m не останавливает загрузку файла.
Квота применяется только при рекурсивной загрузке с сайта или при использовании входного файла.
Пройти через безопасность
Некоторые сайты требуют, чтобы вы авторизовались, чтобы получить доступ к контенту, который вы хотите скачать. Используйте следующие переключатели, чтобы указать имя пользователя и пароль.
wget —user = yourusername —password
В многопользовательской системе, когда кто-то запускает ps команда, они могут видеть ваше имя пользователя и пароль.
Другие варианты загрузки
По умолчанию, -r switch рекурсивно загружает контент и создает каталоги по мере его поступления. Чтобы все файлы загружались в одну папку, используйте следующий переключатель:
Противоположным этому является принудительное создание каталогов, что может быть достигнуто с помощью следующей команды:
Как скачать определенные типы файлов
Если вы хотите выполнить рекурсивную загрузку с сайта, но хотите загрузить только файл определенного типа, например MP3, или изображение, например PNG, используйте следующий синтаксис:
wget -A &
Обратное — игнорирование определенных файлов. Возможно, вы не хотите загружать исполняемые файлы. В этом случае используйте следующий синтаксис:
wget -R &
Cliget
Существует надстройка для Firefox под названием cliget. Чтобы добавить это в Firefox:
-
Посетите https://addons.mozilla.org/en-US/firefox/addon/cliget/ и щелкните добавить в Firefox Кнопка.
-
Нажмите устанавливать когда она появится, а затем перезапустите Firefox.
-
Чтобы использовать cliget, посетите страницу или файл, который хотите загрузить, и щелкните правой кнопкой мыши. Появится контекстное меню под названием cliget, и есть варианты для скопировать в Wget и копировать в завиток.
-
Нажмите скопировать в wget вариант, откройте окно терминала, затем щелкните правой кнопкой мыши и выберите макаронные изделия. Соответствующая команда wget вставляется в окно.
Это избавляет вас от необходимости вводить команду самостоятельно.
Вывод
У команды wget есть несколько опций и переключателей. Чтобы прочитать страницу руководства для wget, введите в окне терминала следующее:
человек wget
#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}
var gt_not_translated_list = [«wget www.ever»,»wget -r www.ever»,»wget -r -l10 www.ever»,»wget -r -l inf www.ever»,»wget -r -k www.ever»,»wget -m www.ever»,»wget -b www.ever»,»wget -b -m www.ever»,»wget -bm www.ever»,»wget -q www.ever»,»wget -i /»,»file1.zip»,»file2.zip»,»file3.zip»,»wget -B http://www.myfileserver.com -i /»,»wget -t 10 -i /»,»wget -t 10 -T 10 -i /»,»wget -c www.myfileser»,»wget -w 60 -i /»,»wget —random-wait -i /»,»wget -q 100m -i /»,»Cliget»];
document.cookie = «googtrans=/auto/ru; domain=.balogs.xyz»;
document.cookie = «googtrans=/auto/ru»;
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: ‘auto’,layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, ‘gtranslate_element’);}