Есть много способов загрузить ресурсы из Интернета. Помимо браузера, вы также можете использовать такой инструмент, как wget, для загрузки ресурсов из Интернета, пока вы делаете что-то еще. В этой статье мы покажем вам, как загрузить и использовать wget на Mac.
Что такое 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.
Как только вы нажмете кнопку, Enter чтобы запустить команду, установщик предоставит вам подробные сведения о том, что произойдет.
После подтверждения запустится установщик.
2. Установите wget из командной строки.
Далее мы хотим использовать Homebrew для установки wget. Снова из Терминала запустите:
brew install wget
Установщик будет сообщать вам о ходе работы в реальном времени, и вам здесь мало что нужно делать. Процесс прост и автоматизирован. Однако, если у вас уже установлен Homebrew, обязательно запустите brew update
, чтобы получить последние копии всех ваших формул.
Как только вы увидите новое приглашение в вашем терминале, вы будете готовы использовать wget на Mac для загрузки ресурсов.
Как использовать wget для загрузки веб-ресурсов
Чтобы загрузить удаленный ресурс по URL-адресу с помощью wget, вам нужно использовать следующую структуру:
wget -O path/to/local.copy http://example.com/url/to/download.html
Это сохранит файл, указанный в URL-адресе, в указанном месте на вашем компьютере.
Если вы исключите «флаг» -O
, вашим местом загрузки будет текущий рабочий каталог.
Например, мы хотим загрузить веб-страницу в папку Загрузки:
wget -O /Users/[your-username]/Downloads/status.html https://www.w3.org/Status.html
Хотя, чтобы сделать то же самое без -Oфлага, нам нужно будет изменить каталог (cd downloads
) перед запуском wget:
wget /Users/[your-username]/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
отключает сообщения журнала, но отображает сообщения об ошибках.
Вам часто нужно знать, что происходит во время загрузки, поэтому вы не можете использовать эти флаги так же часто, как другие. Тем не менее, если у вас есть большой пакет загрузок и вы хотите убедиться, что вы можете исправить любые проблемы, наличие журнала или отсутствие вывода — допустимый подход.
Вывод
Хотя вы можете использовать свой браузер или другой графический интерфейс для загрузки веб-страниц и других ресурсов, вы можете сэкономить время с помощью командной строки. Такой инструмент, как wget, мощнее, чем ваш браузер, и к тому же очень быстр. Полное описание возможностей wget можно найти на странице руководства wget GNU .
Если вы обнаружите, что wget у вас не работает, возможно, пришло время диагностировать проблему с вашим соединением Wi-Fi . Будете ли вы использовать wget на Mac для загрузки веб-ресурсов? Поделитесь своими мыслями в разделе комментариев ниже!
https://www.youtube.com/watch?v=gdrv0sk6vVM