Как установить и использовать 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 для выполнения команды установщик предоставит вам явные детали о том, что произойдет.

После подтверждения установщик начнет работу.
2. Установите wget из командной строки
Далее мы хотим использовать Homebrew для установки wget. Снова в терминале выполните:
brew install 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, в указанное место на вашем компьютере.

Если вы исключите флаг -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 для загрузки веб-ресурсов? Поделитесь своими мыслями в разделе комментариев ниже!