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

Функция URL Wget в Linux

Когда-нибудь задумывались, есть ли способ загрузить веб-сайт без веб-браузера? Вам повезло. С помощью командной строки 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.com

wget будет считать, что вы хотите анонимный вход. В качестве альтернативы вы можете вручную указать такие вещи, как имя пользователя и пароль, с помощью следующих флагов:

  • --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 сэкономит вам время и даст возможность работать оффлайн. Что вы теряете?

Оставьте комментарий ниже и дайте нам знать, нашли ли вы это полезным.