Как установить и использовать wget на Mac

Кнопка загрузки.

Существует множество способов загрузки ресурсов из Интернета. Кроме вашего браузера, вы также можете использовать инструмент, такой как wget, для загрузки ресурсов из Интернета, пока делаете что-то другое. В этой статье мы покажем вам, как загрузить и использовать wget на Mac.

Также читайте: Как использовать Wget для загрузки веб-сайтов на ваш ПК

Что такое wget (и для чего он используется)?

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

Это проект команды GNU, и он отлично подходит, если у вас плохое интернет-соединение. Это означает, что он надежен в условиях, которые в противном случае не являются оптимальными.

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

Как установить wget на Mac

Перед установкой wget вам нужен менеджер пакетов. Хотя wget не поставляется с macOS, вы можете загрузить и установить его с помощью Homebrew — лучшего менеджера пакетов для Mac.

1. Загрузите и установите Homebrew

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

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Это использует команду curl для загрузки файлов, которые поставляются вместе с предустановленной установкой Ruby на macOS.

Также читайте: Как использовать cURL для передачи данных через командную строку и многое другое

После нажатия Enter для выполнения команды установщик предоставит вам явные детали о том, что произойдет.

Установка Homebrew.

После подтверждения установщик начнет работу.

2. Установите wget из командной строки

Далее мы хотим использовать Homebrew для установки wget. Снова в терминале выполните:

brew install wget

Установка wget.

Установщик будет предоставлять вам обновления о ходе выполнения в реальном времени, и вам не нужно будет делать много действий. Процесс прост и автоматизирован. Однако, если у вас уже установлен Homebrew, обязательно выполните brew update, чтобы получить последние версии всех ваших формул.

Как только вы увидите новый запрос в вашем терминале, вы готовы использовать wget на Mac для загрузки ресурсов.

Также читайте: Как запустить скрипт Python на Mac

Как использовать wget для загрузки веб-ресурсов

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

wget -O path/to/local.copy http://example.com/url/to/download.html

Это сохранит файл, указанный в URL, в указанное место на вашем компьютере.

Использование wget для загрузки файла.

Если вы исключите флаг -O, ваше место загрузки будет текущим рабочим каталогом.

Загрузка файла в текущий рабочий каталог.

Например, мы хотим загрузить веб-страницу в папку Загрузки:

wget -O /Users/[ваше-имя-пользователя]/Downloads/status.html https://www.w3.org/Status.html

Хотя, чтобы сделать то же самое без флага -O, нам нужно будет изменить каталог (cd downloads) перед тем, как мы запустим wget:

wget /Users/[ваше-имя-пользователя]/Downloads/status.html https://www.w3.org/Status.html

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

Как загрузить рекурсивный каталог

Чтобы загрузить целое дерево каталогов с помощью wget, вам нужно использовать флаги -r / --recursive и -np / --no-parent:

wget -e robots=off -r -np https://www.w3.org/History/19921103-hypertext/hypertext/

Это заставит wget следовать любым ссылкам, найденным в документах внутри указанного каталога. Оттуда он выполнит рекурсивную загрузку всего указанного пути URL.

Также обратите внимание на команду -e robots=off. Это игнорирует ограничения в файле robots.txt. В общем, хорошей идеей является отключение robots.txt, чтобы предотвратить сокращенные загрузки.

Использование дополнительных флагов с wget

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

Давайте рассмотрим две области, сосредоточив внимание на контроле процесса загрузки и создании журналов.

Контроль того, как wget будет загружать ресурсы

Существует множество флагов, которые помогут вам настроить процесс загрузки. Вот лишь несколько из самых полезных:

  • wget -X /absolute/path/to/directory исключит конкретный каталог на удаленном сервере.
  • wget -nH удаляет каталоги “hostname”. Другими словами, он пропускает основное имя домена. Например, wget пропустит папку www.w3.org в предыдущем примере и начнет с каталога History.
  • wget --cut-dirs=# пропускает указанное количество каталогов в URL перед началом загрузки файлов. Например, -nH --cut-dirs=1 изменит указанный путь “ftp.xemacs.org/pub/xemacs/“ на просто “/xemacs/“ и уменьшит количество пустых родительских каталогов в локальной загрузке.
  • wget -R index.html / wget --reject index.html пропустит любые файлы, соответствующие указанному имени файла. В этом случае он исключит все файлы индекса. Звездочка () является подстановочным знаком, например “.png”. Это пропустит все файлы с расширением PNG.
  • wget -i file указывает целевые URL из входного файла. Этот входной файл должен быть в формате HTML, или вам нужно будет использовать флаг --force-html, чтобы разобрать HTML.
  • wget -nc / wget --no-clobber не перезапишет файлы, которые уже существуют в месте назначения.
  • wget -c / wget --continue продолжит загрузку частично загруженных файлов.
  • wget -t 10 попытается загрузить ресурс до 10 раз перед тем, как завершить.

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

Настройка уровня ведения журнала

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

  • wget -d включает вывод отладки.
  • wget -o path/to/log.txt включает вывод журнала в указанную директорию вместо отображения журнала в стандартном выводе.
  • wget -q отключает весь вывод wget, включая сообщения об ошибках.
  • wget -v явно включает стандартный вывод wget.
  • wget --no-verbose отключает сообщения журнала, но отображает сообщения об ошибках.

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

Также читайте: Как добавлять и удалять Kexts из macOS

Заключение

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

Если вы обнаружите, что wget не работает для вас, возможно, пришло время диагностировать проблему с вашим Wi-Fi соединением. Будете ли вы использовать wget на Mac для загрузки веб-ресурсов? Поделитесь своими мыслями в разделе комментариев ниже!