Как скачать полностью сайт при помощи wget утилиты

Как скачать полностью сайт при помощи wget утилиты

Нередко возникает необходимость получить копию сайта, например, чтобы получить доступ к нему без сети, локально на компьютере.

Существует не один способ, но мы разберем на примере один вариант для Linux, просто потому что мы находимся в соответствующем разделе.

Для нашей задачи будем использовать широко популярную утилиту WGET, работающая в терминале linux и включенной по умолчанию почти во все дистрибутивы, кстати есть и версия под windows, без GUI, так же расчитанная для работы в консоли.

Wget – Бесплатная консольная утилита предназначенная для скачивания файлов по сети, обладающая широкими возможностями, в Windows среде такие программы называются менеджер загрузок или менеджер закачек.

Утилита, поддерживая все современные протоколы передачи данных, такие как HTTP,HTTPS,FTP и другие, так же поддерживается работа через прокси серверы.

Открываем терминал в линукс и набираем команду:

wget

В ответ получим

Screenshot_9.jpg

wget: отсутствует URL
Использование: wget [ПАРАМЕТР]... [URL]...
Дополнительные параметры выводятся по команде «wget --help».

Есть результат будет другим, на вроде этого

bash: wget: команда не найдена

Это означает что утилита отсутствует в системе и требуется установка из пакетов, репозиториев или исходников, все зависит от того какая у вас операционная система

Ubuntu: apt install wget или apt-get install wget
Centos:  yum install wget
Freebsd: cd /usr/ports/ftp/wget && make install clean
Debian:  apt-get install wget

 

Хоть Freebsd не далеко не линукс, к инструкции будет кстати, для других систем погуглите, выходит за рамки нашего материала.

И так готово, утилита установлена и готова к плодотворной работе, теперь выбираем нужный нам сайт, например, site.ru:

Переходим в папку где будет расположен наш сайт

cd /var/www/

В терминале вводим:

wget -r -k -l 5 –p -o log.txt -E -nc http://site.ru

Screenshot_1.jpg


Начнется загрузка html, css, xml, txt, и других файлов с сайта, обратите внимание если на сайте присутствуют файлы больших размеров, убедитесь, что место на диске будет достаточно, либо указать какие файлы можно скачивать а какие нет, ключи приведу ниже. (в моем случае сайт выдал 503 ошибку и загрузка приостановилась.)

Разберем ключи:

Внимание! Ключи регистр зависимые.

  • -r - рекурсивный обход.

  • -P - путь к папке куда загружать файлы, например, wget –P /usr/home/

  • -b – Фоновый режим загрузки.

  • -c – Продолжить загрузку с того же места, в случае обрыва соединения.

  • -l  - Глубина рекурсии, обычно для сайта подойдет 4-7, пример wget -l 4 https://site.ru

  • -k – важнейший параметр, формирует ссылки в относительные, без таких ссылок на страницах локальной копии сайта будет перекидывать на домен site.ru и вы прост оне сможете переходить по ссылкам внутри сайта.

  • -E – Создает расширение .HTML

  • -R – Параметр позволяет исключить из загрузки файлы по маске, например:

  • wget –R “*.rar” http://site.ru

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

Не исключены проблемы с разного рода JS встроенными скриптам и не загружаются картинки из стилей css, так что не ждите “идеальной копии сайта”.




  • wget

Комментарии к записи Как скачать полностью сайт при помощи wget утилиты