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

Когда-нибудь задумывались, есть ли способ загрузить веб-сайт без веб-браузера? Вам повезло. С помощью командной строки Linux возможно все. Существует несколько методов для выполнения этой задачи, но в этой статье мы сосредоточимся на wget.
Что такое wget?
wget — это утилита командной строки GNU для получения контента с веб-серверов. В качестве загрузчика wget очень мощен сам по себе. wget способен работать с несколькими протоколами, такими как HTTP, HTTPS и FTP. Другие возможности утилиты wget включают:
- возможность работать в тихом режиме или в фоновом режиме
- интеграция с Linux-скриптами или заданиями CRON
- возможность выполнять несколько загрузок одновременно
- загрузка файлов, требующих пароль
Почему wget?
Хотя существует множество инструментов, которые могут выполнять действия с веб-сайтами, wget позволяет работать в широком диапазоне. Он дает пользователю возможность функционировать без веб-браузера, выполняя:
- загрузку полной копии веб-сайта
- загрузку конкретного файла с веб-сайта
- автоматизацию получения файла по запросу
- получение документа с портала аутентификации
wget также встроен в большинство дистрибутивов Linux, поэтому он доступен с самого начала, и дополнительная установка не требуется.
Основы wget
Начать работу с wget довольно просто. Сначала откройте терминал Linux.
Как только окно терминала открыто, вы можете запустить wget, как показано ниже:
wget URLЗамените “URL” на точный URL веб-сайта.
Чтобы возобновить частично загруженный файл, используйте переключатель -c в вашей команде следующим образом:
wget -c URLЧтобы сделать вашу загрузку wget тихой, добавьте переключатель -q к вашей первоначальной команде wget:
wget -q URLЕсли вы не уверены в правильном использовании опций в wget, используйте следующее:
wget --helpПомимо веб-сайтов, вы также можете загрузить файл с помощью wget. Например:
wget https://example.com/file.zipОн просто захватит файл и сохранит его в текущем каталоге.
Если вы хотите сохранить файл под другим именем или в другом месте, используйте флаг -O.
wget https://example.com/file.zip -O ~/Documents/my_downloaded_file.zipОпции FTP
Как уже упоминалось, wget также поддерживает FTP. Если вы просто укажете FTP-сайт:
wget ftp://ftp.example.comwget будет считать, что вы хотите анонимный вход. В качестве альтернативы вы можете вручную указать такие вещи, как имя пользователя и пароль, с помощью следующих флагов:
--ftp-user=USER: указывает имя пользователя для входа--ftp-password=PASS: указывает пароль--no-passive-ftp: отключает пассивный режим передачи
Тайм-ауты, повторы и неудачные загрузки
Наконец, wget предлагает несколько опций, связанных с проблемами подключения к серверу и тайм-аутами. Не все сбои можно устранить, но следующие флаги предназначены для помощи в решении проблем с сервером:
--tries=NUMBER: указывает количество попыток повторной загрузки--retry-connrefused: повторяет загрузку, даже если сервер отказал в подключении--timeout=SECONDS: глобальная настройка — сколько времени ждать перед тайм-аутами--wait=SECONDS: сколько времени ждать между успешными загрузками (если повторяется)
Кто будет использовать wget?
Читая этот пост, вы можете подумать: “Это звучит сложно и гораздо труднее, чем использовать веб-браузер“, но любой может найти применение этой утилите, будь то системный администратор или программист. Ниже приведены два примера того, как я использую эту команду в течение дня, иногда меняя свою роль.
Это облегчает мою работу как исследователя безопасности, потому что я могу запланировать эту команду для загрузки нескольких веб-сайтов одновременно. Я могу сделать это, создав текстовый файл (с помощью любого текстового редактора), который содержит несколько URL в списке (по одному URL на строку). Выполнив команду ниже с переключателем -i, wget загрузит каждый веб-сайт из списка.
wget -i download_file_name URLКак системный администратор, я могу легко получать документы с защищенных паролем мест. Это может не помочь вам так же оффлайн, но запустив wget, вы можете добавить учетные данные к сайту.
wget --user=user_id --password=user_password URLВот и все! Это было так сложно, как вы думали? Возможность автоматизировать свои действия с помощью wget сэкономит вам время и даст возможность работать оффлайн. Что вы теряете?
Оставьте комментарий ниже и дайте нам знать, нашли ли вы это полезным.