Создание локальной копии сайта

Январь, 02nd 2016Рубрика: *NIX | Советы 15323
Подписаться на комментарии по RSS

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

Ковыряться вручную сомнительное удовольствие, не наш метод, да и искать специализированный софт (помню на заре интернета, когда доступ был жутко дорогой существовали всякие offline-браузеры под Windows) совсем не радовало, не актуально это сейчас.

И тут меня посетила замечательная идея воспользоваться консольной программой wget. Постоянно пользуюсь ею на серверах FreeBSD. Если вас пугает само слово FreeBSD, то wget легко устанавливается или сразу идет в составе практически любого Linux, можно поставить и на Мас, например через MacPorts (sudo port install wget).

Делаем локальную копию сайта с помощью wget:

wget -v -m -k -E http://url_нужного_сайта/

Параметры, с которыми запускалась программа:

  • -v - показывает процесс списывания;
  • -m - делает зеркальную копию сайта (--mirror)
  • -k - автоматически преобразовывает пути и ссылки для локального просмотра. Например закачивается документ /catalog/doc.html со ссылкой на /images/img.gif, то в локальной копии будет записано ../images/img.gif.
  • -E - если тип списанного контента был ‘application/xhtml+xml’ или ‘text/html’, и его расширение не .html (грубо говоря, а реально не удовлетворяет шаблону ‘.[Hh][Tt][Mm][Ll]?’), то добавить .html к имени

Этих параметров вполне достаточно для успешного создания локальной копии сайта. Могут пригодиться еще и такие:

  • -K - опция сохраняет оригинальный файл с расширением .orig рядом с измененным, (использоуется совместно с ключом ‘-k’). Пути и ссылки оставлены без изменений
  • -w 1 - ждать 1 секунду перед следующим запросом на закачку файла (можно поставить больше). Бывает полезно, если на сервере есть ограничения по запросам
  • --output-file=wget.log - пишет процесс работы в лог-файл

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

Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

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