Создание локальной копии сайта
Вообще тема крайне специфичная, впрочем как и решение... но может кому пригодится. И так, захотелось тут одним заказчикам странного - сделать локальную копию сайта для записи на флешку или на диск. Ну надо так надо... другой вопрос как это сделать?
Ковыряться вручную сомнительное удовольствие, не наш метод, да и искать специализированный софт (помню на заре интернета, когда доступ был жутко дорогой существовали всякие 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 - пишет процесс работы в лог-файл
Вообще, программа обладает огромными возможностями. Оставляю их вам для самостоятельного изучения.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.