Архивация веб-сайтов, это критически важный процесс для сохранения цифрового наследия‚ доказательной базы‚ исследовательских данных или просто личных воспоминаний. Сайты исчезают‚ контент меняется‚ домены истекают. В этой статье мы подробно разберем‚ чем создать архив сайта‚ от простых онлайн-сервисов для одной страницы до профессиональных утилит командной строки для полного зеркалирования крупных порталов.
Сценарий 1: Экстренное сохранение (одна страница‚ «здесь и сейчас»)
Если сайт может быть заблокирован или удален в ближайшие минуты‚ действуйте по алгоритму «Первые 30 секунд — первые 5 минут».
Онлайн-сервисы мгновенного снимка
- Archive.ph (archive.today) — золотой стандарт для экстренного сохранения одной страницы. Работает за 10–30 секунд‚ отлично справляется с обходом простых защит (Cloudflare‚ возрастные гейты)‚ сохраняет текст‚ картинки и дает короткую неизменяемую ссылку. Не требует регистрации.
- Internet Archive (Wayback Machine) — Save Page Now — официальный инструмент крупнейшей веб-библиотеки мира.
- Перейдите на web.archive.org.
- Найдите форму Save Page Now (обычно внизу справа).
- Вставьте URL и нажмите Save Page (или Enter).
- Дождитесь завершения краулинга — получите постоянную ссылку на снимок.
- 30 сек: Сохраните через Archive.ph главную‚ «О нас»‚ контакты‚ ключевые статьи.
- 5 мин: Запустите быстрый wget (см. команду ниже).
- 1–2 часа: Запустите полную архивацию через HTTrack или настроенный Wget.
Сценарий 2: Полная архивация сайта (зеркалирование)
Для скачивания всего сайта со структурой ссылок‚ картинками‚ стилями и скриптами нужны специализированные инструменты. Выбор зависит от ваших навыков и сложности сайта.
Сравнительная таблица инструментов
| Инструмент | Скорость | Сложность | Качество | Когда использовать |
|---|---|---|---|---|
| Archive.ph | ⚡⚡⚡ (30 сек) | ★☆☆ | ⭐⭐ | Одна страница‚ срочно‚ без установки |
| HTTrack | ⚡⚡ (часы) | ★☆☆ | ⭐⭐⭐ | Целый сайт‚ есть GUI‚ для начинающих |
| Wget | ⚡⚡ (часы) | ★★★ | ⭐⭐⭐⭐ | Автоматизация‚ скрипты‚ продвинутые настройки |
| Wpull | ⚡⚡ (часы) | ★★★ | ⭐⭐⭐⭐ | Сложные сайты‚ стандарт WARC‚ Python-хуки |
| Browsertrix | ⚡ (дольше) | ★★☆ | ⭐⭐⭐⭐⭐ | JS-сайты‚ SPA‚ интерактивность‚ сложные авторизации |
Быстрый выбор инструмента
- 📄 Одна статья/страница → Archive.ph или SingleFile.
- 🏠 Небольшой сайт (< 1000 страниц)‚ статический → HTTrack (GUI) или Wget.
- 🏢 Большой/сложный сайт‚ нужна автоматизация → Wget или Wpull.
- 🎮 Сайт на React/Vue/Angular (SPA)‚ много JavaScript‚ динамическая подгрузка → Browsertrix (или Webrecorder).
Детальный разбор основных инструментов
HTTrack Website Copier — лучший старт для новичков
HTTrack — свободная (GPL)‚ кроссплатформенная программа (Windows‚ Linux‚ macOS‚ Android) с графическим интерфейсом (GUI) и консольной версией (httrack).
Преимущества:
- Интуитивный мастер настройки (визард).
- Автоматическое преобразование ссылок для автономного просмотра (относительные пути).
- Поддержка продолжения прерванной закачки (resume).
- Настройка фильтров (пропустить видео‚ скачать только картинки и т.д.).
- Ограничение скорости и количества соединений (вежливый краулинг).
Как пользоваться (GUI):
- Скачайте с официального сайта
httrack.com. - Запустите -> Next -> Введите имя проекта и папку назначения.
- Действие: Download web site(s).
- Вставьте URL (можно несколько).
- Set options (Важно!): Лимиты -> Max transfer rate (напр. 250 KB/s)‚ Max connections (2-4). Spider -> Ignore robots.txt (если нужно архивировать закрытое для ботов‚ но открытое для людей).
- Next -> Finish.
GNU Wget — стандарт де-факто для автоматизации и серверов
Консольная утилита‚ встроенная в Linux/macOS‚ есть порт для Windows. Мощнее HTTrack‚ но требует знания флагов.
Команда для быстрой экстренной архивации (из гайда ruarxive.org):
wget --mirror --convert-links --adjust-extension
--page-requisites --wait=0.5 --limit-rate=200k
--no-parent https://site-to-save.com Разбор флагов:
--mirror(или-m): Включает рекурсию‚ сохранение времени файлов‚ бесконечную глубину.--convert-links(или-k): После закачки преобразует ссылки для локального просмотра.--page-requisites(или-p): Скачивает все ресурсы страницы (CSS‚ JS‚ картинки)‚ даже если они на других доменах.--wait=0.5: Пауза 0.5 сек между запросами (не ДОСить сервер).--limit-rate=200k: Ограничение скорости 200 КБ/с.--no-parent: Не уходить в родительские директории (оставаться внутри указанного URL).
Продвинутая команда для качественного архива (WARC + логи + обход базовых блоков):
wget --mirror --convert-links --adjust-extension --page-requisites
--warc-file="archive_$(date +%Y%m%d)" --warc-cdx
--wait=1 --random-wait --limit-rate=500k
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537;36"
--header="Accept-Language: ru-RU‚ru;q=0.9‚en-US;q=0.8‚en;q=0.7"
-e robots=off
--no-parent https://site-to-save.com --warc-file: Сохраняет в стандартный формат WARC (Web ARChive) — международный стандарт (ISO 28500) для долгосрочного хранения.--warc-cdx: Генерирует индекс CDX для быстрого поиска по WARC.-e robots=off: Игнорировать robots.txt (используйте этично и осторожно).--user-agent: Маскировка под обычный браузер.
Wpull — Wget нового поколения для профессионалов
Написан на Python. Главные фишки: нативная поддержка WARC 1.1‚ хуки на Python (можно менять логику на лету: авторизация‚ обход капчи‚ модификация DOM)‚ лучшая работа с редиректами и куками. Рекомендуется Национальным цифровым архивом (ruarxive.org) для серьезных проектов.
Browsertrix / Webrecorder — для современных JavaScript-сайтов (SPA)
Если сайт — это Single Page Application (React‚ Vue‚ Angular)‚ контент подгружается через API‚ есть бесконечный скролл‚ сложные авторизации — Wget/HTTrack скачают пустые оболочки.
Browsertrix (Docker-контейнер) управляет реальным браузером (Chromium/Firefox) через Playwright/Puppeteer.
- Рендерит JS полностью.
- Может скроллить страницы‚ кликать кнопки «Загрузить еще»‚ логиниться.
- Результат — WARC-файлы высокого качества.
- Есть GUI-версия Browsertrix-Crawler и десктопное приложение Webrecorder Desktop (для ручной записи сессий).
Важные нюансы и лучшие практики
Форматы хранения: Папка файлов vs WARC
- WARC (Web ARChive): Один файл (или набор сегментов) со всеми HTTP-заголовками‚ ответами‚ метаданными. Стандарт библиотек и архивов (Library of Congress‚ Internet Archive). Необходим для долгосрочного сохранения и правовой значимости. Используйте
wget --warc-file‚ Wpull или Browsertrix.
Этика и законность (Robots.txt‚ нагрузка‚ авторское право)
- Robots.txt: Стандартный этикет — соблюдать. Игнорируйте (
-e robots=off) только в экстренных случаях сохранения уникальной информации под угрозой уничтожения. - Нагрузка: Всегда используйте
--waitи--limit-rate. Ваша задача — архивист‚ а не DDoS-атакующий. - Авторское право / Персональные данные: Архив для личного пользования / науки / публичного контроля обычно допустим (fair use / исключения для библиотек). Публикация полного зеркала чужого коммерческого сайта в открытый доступ — нарушение.
Динамический контент и «Ленивая» загрузка
Обычные краулеры не выполняют JS. Если контент подгружается при скролле (IntersectionObserver) или клике — он не попадет в Wget/HTTrack.
Решения:
- Посмотрите «Инструменты разработчика» (F12) -> Network -> XHR/Fetch. Часто API отдает JSON. Скачайте API-эндпоинты напрямую Wget’ом и соберите сайт вручную.
- Используйте Browsertrix или Webrecorder.
- Расширение SingleFile (ручной скролл до конца -> Save).
Чек-лист: Как проверить качество архива
- Пройдите по 5-10 внутренним ссылкам — они должны открываться локально.
- Проверьте картинки‚ стили (CSS)‚ шрифты — не сломан ли дизайн.
- Проверьте ключевые интерактивные элементы (формы поиска не будут работать‚ но контент статей должен быть).
- Если использовали WARC — откройте в ReplayWeb.page (онлайн-плеер Webrecorder) или Warcat / pywb локально.
Выбор инструмента зависит от задачи:
- Для мгновенного спасения одной страницы — Archive.ph или SingleFile.
- Для домашней архивации небольших статических сайтов — HTTrack (GUI).
- Для системной работы‚ скриптов‚ серверов — Wget (с WARC) или Wpull.
- Для современных сложных веб-приложений — только Browsertrix / Webrecorder.
Начните с простого‚ автоматизируйте рутину‚ всегда проверяйте результат в автономном режиме и храните копии по правилу 3-2-1 (3 копии‚ 2 разных носителя‚ 1 вне дома/офиса). Грамотная архивация сегодня — это доступ к истине завтра.