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

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

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

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 — очень мощная утилита, её функционал можно долго изучать.

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

Также можете помочь проекту, заранее всем СПАСИБО!!!

.


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

0 0 vote
Рейтинг статьи
Подписаться
Уведомление о
guest

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

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

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

CepGo
CepGo
25.02.2020 15:35

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