wget
команда является доказательством. Впервые выпущенный в 1996 году, это приложение по-прежнему остается одним из лучших менеджеров по загрузке на планете. Если вы хотите загрузить один файл, целую папку или даже зеркало всего веб-сайта, wget позволяет вам делать это всего несколькими нажатиями клавиш.
Разумеется, есть причина, по которой не все используют wget: это приложение командной строки, и поэтому для начинающих требуется немного времени. Вот основные сведения, поэтому вы можете начать.
Как установить wget
Прежде чем вы сможете использовать wget, вам необходимо установить его. Как это сделать, зависит от вашего компьютера:
- Большинство (если не все) дистрибутивов Linux поставляются с wget по умолчанию. Поэтому пользователям Linux не нужно ничего делать!
-
Системы macOS не поставляются с wget, но вы можете установить инструменты командной строки с помощью Homebrew. После того, как вы установили Homebrew, просто запустите
brew install wget
в Терминале.
- Пользователи Windows не имеют легкого доступа к wget в традиционной командной строке, хотя Cygwin предоставляет wget и другие утилиты GNU, а оболочка Ubuntu Ubuntu Windows 10 также поставляется с wget.
После того, как вы установили wget, вы можете сразу начать использовать его из командной строки. Давайте загрузим несколько файлов!
Загрузите один файл
Начнем с чего-то простого. Скопируйте URL-адрес файла, который вы хотите загрузить в своем браузере.
wget
а затем вставленный URL. Файл будет загружен, и вы увидите прогресс в реальном времени, как и он.
cd
в другую папку, если вы хотите, чтобы она хранилась в другом месте. Если вы не знаете, что это значит, ознакомьтесь с нашим руководством по управлению файлами из командной строки. В статье упоминается Linux, но концепции одинаковы для систем macOS и систем Windows, работающих под управлением Bash.
Продолжить незавершенную загрузку
Если по какой-либо причине вы остановили загрузку, прежде чем она закончится, не волнуйтесь: wget может забрать ее там, где она остановилась. Просто используйте эту команду:
wget -c file
-c
который является «вариантом» в языке командной строки. Этот конкретный параметр сообщает wget, что вы хотите продолжить существующую загрузку.
Зеркало всего сайта
Если вы хотите загрузить весь сайт, wget может выполнить эту работу.
wget -m https://example.com
-
--convert-links
изменяет ссылки внутри каждой загруженной страницы, чтобы они указывали друг на друга, а не на Интернет.
-
--page-requisites
загружает такие вещи, как таблицы стилей, поэтому страницы будут выглядеть корректно в автономном режиме.
-
--no-parent
останавливает wget от загрузки родительских сайтов. Поэтому, если вы хотите загрузить https://example.com/subexample, вы не получите родительскую страницу.
Объедините эти параметры по вкусу, и в итоге вы получите копию любого веб-сайта, который вы можете просматривать на своем компьютере.
Обратите внимание, что зеркалирование всего веб-сайта в современном Интернете будет занимать огромное количество места, поэтому ограничьте это небольшими сайтами, если у вас нет почти неограниченного хранилища.
Загрузите всю директорию
Если вы просматриваете FTP-сервер и находите целую папку, которую хотите загрузить, просто запустите:
wget -r ftp://example.com/folder
r
в этом случае говорит wget, что вы хотите рекурсивную загрузку. Вы также можете включить
--noparent
если вы хотите избежать загрузки папок и файлов выше текущего уровня.
Загрузите список файлов одновременно
Если вы не можете найти целую папку требуемых загрузок, wget все равно может помочь. Просто поместите все URL-адреса загрузки в один TXT-файл.
-i
вариант. Как это:
wget -i download.txt
Несколько новых трюков
Мы могли бы продолжить: wget предлагает множество вариантов. Но этот учебник предназначен только для того, чтобы дать вам точку отсчета. Чтобы узнать больше о том, что может сделать wget, введите
man wget
в терминале и прочитать, что происходит. Вы узнаете много.
Сказав это, вот несколько других вариантов, которые я считаю аккуратными:
-
Если вы хотите, чтобы ваша загрузка выполнялась в фоновом режиме, просто включите опцию
-b
-
Если вы хотите, чтобы wget продолжал пытаться загрузить, даже если есть ошибка 404, используйте параметр
-t 10
Это попытается загрузить 10 раз; вы можете использовать любой номер, который вам нравится.
-
Если вы хотите управлять пропускной способностью, выберите
--limit-rate=200k
будет ограничивать скорость загрузки при 200 КБ / с. Измените номер, чтобы изменить скорость.
Здесь есть чему поучиться. Вы можете изучить загрузку PHP-источника или создание автоматизированного загрузчика, если хотите получить более продвинутый уровень.