Скачивание файлов из интернета остается одной из основных задач компьютерных пользователей.
А что, если скачать файл требуется не один или два, а несколько тысяч? Или вы хотите получить копию целого сайта? В таких случаях на помощь пользователю приходят различные утилиты. Одним из таких полезных инструментов является wget.
Заинтриговал? Давайте попробуем установить её в Windows и скачать с её помощью, например, все картинки с какого-нибудь сайта.
Что такое wget?
Wget - это утилита командной строки для загрузки файлов из интернета. Он может быть использован для загрузки одного файла или нескольких файлов, а также для загрузки целых сайтов.
Wget доступен для большинства операционных систем Unix, а также для Windows. Это простой и удобный инструмент, который обладает большим числом опций для настройки загрузки файлов.
Как установить wget на Windows?
Установка Wget на Windows довольно проста. Следуйте инструкциям ниже и у вас всё получится:
1. Скачайте бинарный файл Wget. Для этого перейдите на страницу загрузки Wget и найдите подходящую версию для своей операционной системы Windows. Обычно это файл «wget.exe».
2. Сохраните файл в папку (чем короче путь, тем лучше), например, в «C:\wget».
3. Добавьте путь к файлу Wget в переменную среды PATH.
Чтобы это сделать, перейдите в «Параметры», затем в «Система» и выберите «Дополнительные параметры системы».
В диалоговом окне, которое появится, выберите вкладку «Дополнительно», затем нажмите на кнопку «Переменные среды». В разделе «Переменные среды для пользователя» найдите переменную «Path», выберите ее и нажмите на кнопку «Изменить».
Добавьте путь к файлу Wget в зависимости от того, где вы сохранили файл. Например, если вы сохранили файл в «C:\wget», то добавьте «C:\wget».
4. Проверьте, что Wget установлен и работает правильно. Запустите командную строку Windows, нажмите клавишу Win+R, введите «cmd» и нажмите Enter. В командной строке введите «wget -h» и нажмите Enter.
Если в консольном окне появится справка по Wget, значит, установка прошла успешно.
Как использовать wget?
Применение wget крайне просто. Запускаете командную строку Windows, вводите команду и вуаля, файлы скачаны.
Для того чтобы скачивать сразу в нужный каталог, запускайте Командную строку уже из директории, где планируете организовать «склад» скачанных с помощью wget файлов.
Например, для того чтобы скачать все картинки с какого-нибудь веб-ресурса, нужно, нажав Windows + E, открыть Проводник, перейти в каталог назначения и в адресной строке проводника ввести cmd. В этом случае Командная строка откроется сразу в этой директории.
Давайте попробуем скачать изображения с какого нибудь сайта. Все и сразу...
Как скачать 1000 картинок сразу
Я искал изображения разных айфонов и наткнулся на какой-то сайт, где нужные мне картинки лежат в папке «img» и все изображения с расширением .jpg.
Для того чтобы скачать все изображения одного типа и из определенной директории сайта я запускаю wget со следующими параметрами:
wget -r -A .jpg http://iphone-24.ru/img/
В этой команде:
- wget - это утилита командной строки для загрузки файлов из Интернета;
- -r - это опция, которая указывает wget на рекурсивное скачивание файлов, то есть загрузку не только файлов из заданной директории, но и из всех вложенных директорий;
- -A .jpg - это опция, которая указывает wget загружать только файлы с расширением .jpg;
- http://iphone-24.ru/img/ - это URL-адрес сайта и директории, из которой мы хотим загрузить файлы.
Таким образом, команда загрузит (чисто теоретически) все файлы с расширением .jpg из директории /img/ на сайте http://iphone-24.ru/, а также из всех вложенных в нее директорий, если они есть. Загруженные файлы будут сохранены в текущей рабочей директории, т.е. той, в которой запущена команда wget.
Почему я сделал пометку «чисто теоретически»? Потому, что, как правило, просто скачать все файлы с сайта, к которому вы не имеет никакого отношения у вас, скорее всего не получится. Так оно и вышло.
Что ж попробуем «прикинуться» браузером и попытаемся скачать картинки ещё раз. Для этого добавим еще один параметр в команду:
wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299" -r -A jpg http://iphone-24.ru/img/
К сожалению, и здесь безрезультатно.
А если сначала составить список ссылок на все изображения, а после этот список подсунуть команде wget? Сказано, сделано!
wget --spider -r -l 1 -A jpg http://iphone-24.ru/img/ 2>&1 | findstr /r /c:"http://[^ ]*\.jpg" > image_links.txt
Рассмотрим по шагам, что происходит в этой команде:
- wget --spider -r -l 1 -A jpg http://iphone-24.ru/img/ — данная команда выполняет рекурсивный обход каталога http://iphone-24.ru/img/ и выводит в терминал заголовки всех файлов с расширением .jpg, не загружая их на диск.
- 2>&1 — перенаправляет вывод команды wget из stderr в stdout, чтобы его можно было обработать далее.
- findstr — ищет в выводе команды wget строки, содержащие регулярное выражение "http://[^ ]*\.jpg", и выводит только эти строки.
К сожалению, и таким способом скачать все картинки из директории сайта не получилось, потому что созданный командой список ссылок на изображения оказался пуст :(
Как скачать весь сайт
Но есть одно термоядерное средство использования wget — можно скачать весь ресурс целиком.
Можно даже скачать всю Wikipedia... О_о, Наверное...
wget -r http://iphone-24.ru
С помощью этой простой команды мы попробуем скачать все файлы сайта, а уж после, удалив ненужное, разобрать картинки для собственных нужд.
Ну вот, wget скачал весь сайт в каталог на компьютере. Все изображения скрипты и стили, сайт открывается локально, не требуя ничего из Большой Сети.
Теперь можно всё ненужное удалить и оставить только изображения.
————————————
⚠ ВАЖНО!
Вы должны понимать, контент, размещенный в Интернете, как правило, защищен авторским правом. Поэтому его использование предполагает ряд ограничений. Будьте внимательны!
————————————
Ниже я привел ещё несколько примеров, демонстрирующих, как можно использовать wget для загрузки файлов:
Загрузить один файл:
wget https://example.com/file.zip
Загрузить несколько файлов из одной папки:
wget -r https://example.com/files/
Загрузить веб-страницу или весь сайт:
wget -r https://example.com/
Загрузить файлы со включенным HTTP-аутентификацией:
wget --user=user --password=password https://example.com/file.zip
Ограничение скорости загрузки:
wget --limit-rate=500k https://example.com/file.zip
Это лишь несколько примеров использования wget.
Утилита с более продвинутыми настройками способна «творить чудеса». Например, загрузка файлов с использованием прокси-сервера или загрузка файлов только за определенный период времени.
Все доступные опции можно получить, выполнив команду «wget -h» или «wget -help».
Заключение
Wget – это простой и удобный инструмент для загрузки файлов из интернета.
Он легко устанавливается на Windows и может быть использован для загрузки файлов любых типов и в любом количестве.
С помощью wget вы можете легко скачивать файлы из интернета и сохранять время и усилия.
Особенным этот инструмент делает его легкость интегрирования в разные скрипты автоматизации, когда нужно запустить какой-то процесс требующий скачивания дополнительных ресурсов или библиотек. В этом случае wget → незаменимый помощник.