Как скачать сайт целиком утилитой wget

3 комментария
linux-logo

Иногда возникает ситуация что Вам необходимо скачать какой либо сайт целиком. Ситуации бывают разные, например для просмотра в оффлайн режиме, либо для бэкапа вашего сайта.

Простая команда для скачивания сайта целиком:

wget -r -k -l 7 -p -E -nc example.com

Теперь расшифровка атрибутов:

  • -r — указывает на то, что нужно рекурсивно переходить по ссылкам на сайте, чтобы скачивать страницы.
  • -k — используется для того, чтобы wget преобразовал все ссылки в скаченных файлах таким образом, чтобы по ним можно было переходить на локальном компьютере (в автономном режиме).
  • -p — указывает на то, что нужно загрузить все файлы, которые требуются для отображения страниц (изображения, css и т.д.).
  • -l — определяет максимальную глубину вложенности страниц, которые wget должен скачать (по умолчанию значение равно 5, в примере мы установили 7). В большинстве случаев сайты имеют страницы с большой степенью вложенности и wget может просто «закопаться», скачивая новые страницы. Чтобы этого не произошло можно использовать параметр -l.
  • -E — добавлять к загруженным файлам расширение .html.
  • -nc — при использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.

Если вывод этой команды заканчивается например так:

HTTP-запрос отправлен. Ожидание ответа… 403 Forbidden
2018-10-04 09:35:42 ОШИБКА 403: Forbidden.

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

wget -r -k -l 7 -p -E -nc --user-agent="Mozilla/5.0 (Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36" https://example.com/

В итоге получаем директорию с именем example.com с содержимом сайта.

P.S. wget — очень мощная утилита, её функционал можно долго изучать.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо!!!


Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Русифицируем Ubuntu Server 16.04/18.04/20.04 LTS
linux-logo

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

Вносим CAA запись в DNS (bind9)
dns_bind9

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

Обновления Ubuntu Server 16.04 до 18.04
linux-logo

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать

Защита OpenVPN с помощью Fail2Ban
fail2ban-logo

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать

0 0 голоса
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

3 комментариев
новее
старее большинство голосов
Inline Feedbacks
Просмотреть все комментарии
Otto
Otto
03.05.2020 08:00

Не ожидал, что wget на такое способен, классно!))

CepGo
CepGo
25.02.2020 15:35

добавлял -nc, однако файлы он всё равно перезаписывал..

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: