Расширенное использование wget

6 giu 2023 3 min di lettura
Расширенное использование wget
Indice dei contenuti

Введение

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

Чтение URL-адресов из файла

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

wget -i file

Если вы укажете '-' в качестве имени файла, URL-адреса будут считаны из стандартного ввода.

Создание зеркальной копии веб-сайта

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

wget -r https://www.gnu.org/-o gnulog

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

wget --convert-links -r https://www.gnu.org/-o gnulog

Эти команды загружают веб-сайт « www.gnu.org » и сохраняют журнал активности в файле с именем «gnulog».

Загрузите HTML-страницу со всеми ее ресурсами

Чтобы загрузить только HTML-страницу, но убедиться, что все элементы, необходимые для отображения страницы, такие как встроенные изображения и внешние таблицы стилей, загружены, вы можете использовать параметры -p и --convert-links:

wget -p --convert-links http://www.example.com/dir/page.html

Эта команда сохранит HTML-страницу в www.example.com/dir/page.html, а изображения, таблицы стилей и т. д. где-то в www.example.com/, в зависимости от того, где они находились на удаленном сервере.

Если вы не хотите иметь все эти случайные каталоги сервера, просто сохраните все эти файлы в подкаталоге download/ текущего каталога:

wget -p --convert-links -nH -nd -Pdownload http://www.example.com/dir/page.html

Эта команда сохранит HTML-страницу и все ее ресурсы в подкаталоге «загрузки» текущего каталога.

Показать заголовки сервера

Чтобы получить www.lycos.com index.html, показывающий исходные заголовки сервера, вы можете использовать опцию -S:

wget -S http://www.lycos.com

Если вы хотите сохранить заголовки сервера вместе с файлом, возможно, для постобработки, вы можете использовать параметр --save-headers:

wget --save-headers http://www.lycos.com/

Эта команда сохранит заголовки сервера в файле index.html.

Загрузите первые два уровня FTP-сайта

Чтобы загрузить первые два уровня wuarchive.wustl.edu, сохранив их в /tmp, вы можете использовать опции -r, -l2 и -P/tmp:

wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu

Эта команда загрузит первые два уровня wuarchive.wustl.edu и сохранит их в /tmp.

Скачать все файлы GIF из одного каталога

Если вы хотите загрузить все файлы GIF из каталога на HTTP-сервере, вы можете использовать параметры -r, -l1, --no-parent и -A.gif:

wget -r -l1 --no-parent -A.gif http://www.example.com/dir

Эта команда загрузит все файлы GIF из указанного каталога на HTTP-сервер.

Возобновление прерванных загрузок без перезаписи существующих файлов

Если ваша загрузка прервана и вы не хотите перезаписывать существующие файлы, вы можете использовать параметр -nc:

wget -nc -r https://www.gnu.org

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

Зашифруйте свое имя пользователя и пароль для HTTP или FTP

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

wget ftp://hniksic:[email protected]/.emacs

Эта команда загрузит файл .emacs с указанного FTP-сервера, используя имя пользователя «hniksic» и пароль «mypassword».

Отправка загруженных документов на стандартный вывод

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

wget -O - http://jagor.srce.hr/http://www.srce.hr

Эта команда загрузит документы с указанных веб-сайтов и отправит их на стандартный вывод вместо сохранения в виде файла 1.

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

Если вы хотите ограничить скорость загрузки, чтобы избежать перегрузки вашего соединения, вы можете использовать опцию --limit-rate. Например, чтобы ограничить скорость загрузки до 200k, вы можете использовать:

wget --limit-rate=200k http://example.com

Эта команда загрузит файл с указанного веб-сайта с максимальной скоростью 200 килобайт в секунду.

Загрузка файлов из списка URL-адресов

Если у вас есть список URL-адресов, с которых вы хотите загрузить файлы, вы можете использовать параметр -i с файлом, содержащим все URL-адреса. Например:

wget -i urls.txt

Эта команда загрузит все файлы с URL-адресов, перечисленных в файле «urls.txt».

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

Если вы хотите, чтобы wget загружал файлы в фоновом режиме, вы можете использовать параметр -b. Например:

wget -b http://example.com

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

Загружайте файлы, только если они еще не присутствуют локально

Если вы хотите загружать только файлы, которых еще нет локально, вы можете использовать параметр -N. Например:

wget -N http://example.com

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

Заключение

Это лишь некоторые из расширенных возможностей использования wget. Утилита чрезвычайно универсальна и может использоваться различными способами для автоматизации и настройки ваших загрузок. Обратитесь к справочной странице wget или его онлайн-документации для получения дополнительной информации.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.