Создание архивной копии веб-сайта — задача, с которой сталкиваются исследователи, юристы, журналисты, веб-мастера и обычные пользователи. Причины могут быть разными: сохранение доказательной базы перед удалением контента, создание офлайн-копии для изучения, миграция на другую платформу или пополнение цифрового наследия. На существует широкий спектр инструментов — от простых онлайн-сервисов «один клик» до профессиональных утилит командной строки и сложных систем рендеринга JavaScript.
Данная статья основана на методологических рекомендациях Национального цифрового архива России (ruarxive.org) и охватывает выбор инструмента в зависимости от сложности сайта, объема данных и временных ограничений.
🚨 Экстренная архивация: когда времени на счету минуты
Если сайт может быть заблокирован, удален или изменен в ближайшее время, действуйте по алгоритму «от быстрого к качественному»:
- Первые 30 секунд — сохраните ключевые страницы через Archive.ph (archive.today).
- Откройте archive.ph.
- Сохраните: Главную страницу, страницу «О нас» / About, ключевые статьи/материалы, страницу контактов.
- Первые 5 минут — запустите быструю архивацию всего сайта через Wget.
Используйте следующую команду (требует установленного Wget):
wget --mirror --convert-links --adjust-extension --page-requisites --wait=0.5 --limit-rate=200k --no-parent https://site-to-save.com⚠️ Важно: Эта команда качает быстро, но может пропустить динамический контент, контент за авторизацией или сложные JS-скрипты. Для полноты используйте детальные настройки ниже.
- Если есть 1–2 часа — используйте HTTrack (графический интерфейс). Подробнее см. раздел ниже.
📊 Сравнительная таблица инструментов
Выбор инструмента зависит от типа сайта (статический / динамический / SPA), объема и ваших технических навыков.
| Инструмент | Скорость | Сложность | Качество / Полнота | Когда использовать |
|---|---|---|---|---|
| Archive.ph (archive.today) | ⚡⚡⚡ ~30 сек | ★☆☆ (Очень просто) | ⭐⭐ (Одна страница, без JS-интерактивности) | Одна статья/страница, срочно, без установки ПО |
| HTTrack | ⚡⚡ Часы | ★☆☆ (Есть GUI) | ⭐⭐⭐ (Хорошо для статических сайтов) | Целый сайт (<1000 стр.), новички, нужна визуализация процесса |
| Wget | ⚡⚡ Часы | ★★★ (CLI) | ⭐⭐⭐⭐ (Гибкие настройки, рекурсия) | Автоматизация, скрипты, продвинутые настройки, статические сайты |
| Wpull | ⚡⚡ Часы | ★★★ (CLI) | ⭐⭐⭐⭐ (Поддержка WARC, хуки Python) | Сложные сайты, требование стандарта WARC, интеграция с Webrecorder |
| Browsertrix / Webrecorder | ⚡ Дольше | ★★☆ (Docker / CLI) | ⭐⭐⭐⭐⭐ (Полный рендеринг JS, интерактивность) | JavaScript-сайты (SPA, React, Vue), динамический контент, скроллинг, клики |
🎯 Быстрый выбор (Чек-лист)
- 📄 Одна статья/страница → Archive.ph или Save Page Now (Archive.org).
- 🏠 Небольшой статический сайт (<1000 страниц) → HTTrack (GUI) или Wget (CLI).
- 🏢 Большой / сложный статический сайт → Wget (с тонкой настройкой) или Wpull (для WARC).
- ⚡ Экстренно, одна страница → Archive.ph.
- 🌐 Сайт на JavaScript (SPA, бесконечный скролл, авторизация) → Browsertrix / Webrecorder Desktop.
🛠 Подробный обзор основных инструментов
Онлайн-сервисы для отдельных страниц
Internet Archive — Save Page Now (archive.org)
Официальный веб-интерфейс крупнейшей веб-библиотеки мира.
- Как использовать: Перейдите на archive.org, найдите форму Save Page Now (обычно внизу справа), вставьте URL, нажмите «Save Page» / Enter.
- Что сохраняет: Текстовую и графическую копию страницы, выдает постоянную ссылку (пермалинк) на неизменную запись.
- Ограничения: Не сохраняет весь сайт рекурсивно (только указанный URL), может не справиться с тяжелым JS, имеет лимиты по размеру и частоте запросов с одного IP.
Archive.ph (archive.today / archive.is)
Альтернативный сервис мгновенного снимка.
- Особенности: Работает быстрее Archive.org, лучше обходит некоторые защиты от ботов, сохраняет «как видит пользователь» (рендерит страницу).
- Формат: Дает короткую ссылку на снимок, позволяет скачать ZIP-архив страницы.
- Применение: Идеален для экстренного фиксирования конкретных URL (доказательная база, цитирование).
HTTrack Website Copier — лучший старт с GUI
Лицензия: GPL (Free / Libre Software). Платформы: Windows, macOS, Linux, Android.
HTTrack загружает веб-сайт в локальный каталог, рекурсивно обходя ссылки, и восстанавливает относительную ссылочную структуру для автономного просмотра в браузере.
Ключевые возможности:
- Графический интерфейс (WinHTTrack / WebHTTrack) — пошаговый мастер настройки.
- Поддержка продолжения прерванной загрузки (resume).
- Настройка глубины обхода, фильтров файлов, ограничений скорости, User-Agent.
- Работа с командной строки (
httrack) для автоматизации.
Базовый сценарий работы (GUI):
- Запустить программу → «Далее» → Ввести имя проекта (например,
backup_site_com). - Выбрать категорию «Загрузить веб-сайт(ы)».
- В поле «Веб-адреса» вставить целевой URL (например,
https://example.com/). - Настроить лимиты (вкладка «Установить параметры» → «Лимиты»): глубину ссылок, макс. размер файла, скорость (чтобы не забанили по IP).
Типовые проблемы HTTrack:
- Плохо работает с сайтами, где контент подгружается JavaScript (AJAX, React, Vue, бесконечный скролл).
- Может попасть в «паутину» бесконечных календарей, пагинаций или сессий (нужны маски исключений).
- Не поддерживает стандарт WARC напрямую.
Wget, стандарт де-факто для CLI и автоматизации
Мощнейшая неинтерактивная утилита для загрузки по HTTP/HTTPS/FTP. Входит в состав большинства Linux-дистрибутивов, есть порты для Windows (Chocolatey, Scoop, GnuWin32) и macOS (Homebrew).
Рекомендуемый «золотой стандарт» команды для полной архивации:
wget
--mirror # Включает рекурсию, таймстампы, бесконечную глубину
--convert-links # Переписывает ссылки для локального просмотра --page-requisites # Скачивает CSS, JS, картинки, фоны для отображения страницы
--no-parent # Не уходить в родительские директории (оставаться в поддереве URL)
--wait=1 # Пауза 1 сек между запросами (вежливость, защита от бана)
--random-wait # Рандомизация паузы (0.5 * wait ... 1.5 * wait)
--limit-rate=500k # Ограничение скорости (байт/сек) — вежливость к серверу --reject "?", ".json", "*.xml" # Пример исключений (API, параметры URL) ⎻ настраивается под сайт
--exclude-directories=/wp-admin,/wp-json,/api,/search # Исключение служебных путей WP и др.
--no-check-certificate # Если проблемы с SSL (не рекомендуется для продакшена)
-e robots=off # Игнорировать robots.txt (ОСТОРОЖНО: может нарушать ToS/закон)
-o wget_log.txt # Лог в файл
https://target-site.com/ Ключевые флаги для сложных случаев:
--span-hosts --domains="cdn.site.com,static.site.com"— разрешить скачивание ресурсов с поддоменов/CDN (по умолчанию Wget остается на одном хосте).--load-cookies cookies.txt— использование куков для авторизованного доступа (экспорт из браузера через расширения типа Get cookies.txt LOCALLY).--warc-file=archive_name --warc-cdx, сохранение сразу в формат WARC (Web ARChive) с индексом CDX (поддерживается в новых версиях Wget 1.21+).
Wpull — современная альтернатива Wget для веб-архивистов
Написан на Python, разработан специально для проекта Webrecorder / ArchiveTeam.
Преимущества перед Wget:
- Нативная поддержка WARC 1.1 (стандарт ISO 28500) — основной формат профессионального веб-архивирования.
- Система хуков (hooks) на Python — можно программно управлять процессом: модифицировать запросы, решать, качать ли ресурс, обрабатывать JS-редиректы, логиниться через Selenium/Playwright.
- Лучшая обработка редиректов, куков и сессий.
- Интеграция с pywb (просмотрщик WARC) и Browsertrix.
Пример запуска:
wpull --warc-file "my_site_$(date +%Y%m%d)"
--database "my_site.db" # SQLite БД для resume/дедупликации
--page-requisites
--convert-links
--no-parent
--wait 1
--random-wait
--user-agent "Mozilla/5.0 ..."
--hooks "my_hooks.py" # Опционально: кастомная логика
https://target-site.com/ Browsertrix & Webrecorder — архивация «тяжелых» JS-сайтов (SPA)
Если сайт, это Single Page Application (React, Vue, Angular), контент загружается через API, есть бесконечный скролл, модальные окна, авторизация — Wget/HTTrack скачают пустые оболочки. Нужен настоящий браузер.
Архитектура:
- Browsertrix Crawler (Docker-образ) — оркестратор на базе Playwright / Chrome Headless. Обходит сайт, эмулирует скроллинг, клики, ожидание сети, авторизацию.
- Результат — набор WARC-файлов.
- Browsertrix Viewer / pywb / ReplayWeb.page — для просмотра архива.
Минимальный запуск (требует Docker):
docker run -v $(pwd)/collections:/collections
webrecorder/browsertrix-crawler
--url https://spa-site.com
--collection my_spa_archive
--generateWarc
--text
--workers 2
--limit 1000 Продвинутые сценарии (YAML-конфиг crawl.yml):
- Поведение (behaviors): автоскролл до низа (
autoScroll), клики по селекторам (click), ожидание сетевого бездействия (waitForNetworkIdle). - Авторизация: передача куков, localStorage, или скрипт логина через Playwright.
- Обход CDN/поддоменов: настройка
scope.
💾 Форматы хранения и пост-обработка
Нативная файловая структура (HTTrack / Wget —convert-links)
- Минусы: Сложно верифицировать целостность, трудно мигрировать, нет метаданных протокола (HTTP-заголовки, коды ответа, редиректы).
WARC (Web ARChive), ISO 28500, Профессиональный стандарт
- Структура: Конкатенация записей (WARC-Record):
warcinfo,request,response,metadata,revisit(дедупликация),conversion. - Индексация: CDXJ (индекс для быстрого поиска по URL/времени).
- Инструменты:
warcat,warcio(Python),pywb(просмотр/Wayback-режим),ReplayWeb.page(браузерный просмотрщик, работает офлайн с Service Worker). - Рекомендация: Для любого серьезного проекта (доказательства, наука, библиотеки) — только WARC. Используйте Wpull или Browsertrix.
WACZ (Web Archive Collection Zipped)
Современный формат упаковки: ZIP-архив с WARC-файлами внутри + datapackage.json (метаданные Frictionless Data) + индексы. Поддерживается Webrecorder, удобен для передачи/хранения единым файлом.
⚙️ Лучшие практики и советы профи
Подготовка к архивации
- Проверьте robots.txt (
site.com/robots.txt). Этические краулеры его уважают. Если нужно игнорировать — осознанно используйте-e robots=off(Wget) или соответствующие настройки в Browsertrix, понимая правовые риски. - Оцените объем: HEAD-запрос к главной странице, анализ Sitemap (
/sitemap.xml), проверка черезwget --spider -r -l 2 --no-parent URL(пробег без скачивания). - Подготовьте Cookies/Авторизацию: Если контент за логином — экспортируйте куки (расширение Get cookies.txt LOCALLY для Chrome/Firefox) и передайте в Wget (
--load-cookies) или Wpull/Browsertrix. - User-Agent: Всегда подменяйте на актуальный десктопный браузер, иначе получите 403 или мобильную версию.
Во время процесса
- Мониторьте логи: Следите за кодами 403, 404, 429 (Too Many Requests), 5xx. При 429 — увеличьте
--waitи--limit-rate. - Исключайте мусор: Маски
*?*(URL с параметрами),/search*,/wp-admin/,/api/,.json,.woff2(шрифты часто не нужны для чтения), тяжелые видео (.mp4,.webm) — качайте отдельно при необходимости. - Resume (продолжение): Wget (
-c/--mirror), Wpull (--database), HTTrack — умеют докачивать. Не прерывайте процесс без нужды.
После архивации (QA / Валидация)
- Проверка целостности WARC:
warcat check archive.warc.gzилиwarcio check archive.warc.gz. - Хеширование: Считайте
sha256sumитоговых архивов (WARC/WACZ/ZIP) и сохраните в отдельном файлеmanifest.sha256для доказательства неизменности.
📦 Хранение и долгосрочное сохранение
Создать архив — полдела. Нужно обеспечить его сохранность на годы/десятилетия.
- Правило 3-2-1: 3 копии, на 2 разных типах носителей, 1 копия в другом географическом месте (облако, другой сервер, внешний HDD у родственника).
- Носители: SSD/HDD (переписывать каждые 3-5 лет), M-DISC (оптические диски на 1000+ лет), LTO-ленты (для ТБ/ПБ), облачные хранилища (S3, Wasabi, Backblaze B2, Яндекс.Диск/Облако, Google Drive — с шифрованием).
- Шифрование:
age,gpg,veracrypt, обязательно для чувствительных данных перед уходом в облако. - Метаданные: Ведите реестр (Excel/CSV/SQLite): Что архивировали, когда, инструмент/версия, команда запуска, хеш-суммы, место хранения, контекст/цель.
- Периодическая верификация: Раз в 6-12 месяцев проверяйте хеш-суммы и читаемость случайных файлов.
⚖️ Юридические и этические аспекты (РФ и международная практика)
- Авторское право (ст. 1270 ГК РФ): Архивация для личного некоммерческого использования (ст. 1273 ГК РФ) обычно допускается, но распространение архива — нарушение.
- Персональные данные (152-ФЗ): Если на сайте есть ПДн — архив становится базой ПДн. Требуется соблюдение режима защиты, минимизация, отсутствие распространения.
- Тайна связи / коммерческая тайна / гостайна: Архивация закрытых ресурсов без авторизации, уголовная статья (272, 273, 283 УК РФ).
- Условия использования (ToS): Многие сайты запрещают скрейпинг/архивацию в ToS. Нарушение ToS — гражданско-правовой риск (иск), в некоторых юрисдикциях (CFAA в США) — уголовный.
- Доказательная сила: Для суда нужен нотариальный протокол осмотра сайта (ст. 102 Основного законодательства о нотариате) или экспертиза. Самостоятельный Wget-архив может быть признан, но легче оспорить (подделка логов, изменение системного времени). Сервисы вроде Web.archive.org или Archive.ph имеют больший доверие судов как независимые третьи стороны.
| Ситуация | Рекомендуемый стек | Формат результата |
|---|---|---|
| Срочно зафиксировать 1-5 URL для суда/цитаты | Archive.ph + Archive.org (Save Page Now) | Ссылки на снимки (пермалинки) |
| Небольшой статический сайт (блог, документация, лендинг), нужен офлайн-просмотр | HTTrack (GUI) или Wget (базовый рецепт) | |
| Большой статический сайт (портал, вики, каталог), нужна автоматизация/повторяемость | Wget (тонко настроенный) или Wpull | WARC (Wpull) или Файловая структура (Wget) |
| Сайт на JS (React/Vue/Angular), SPA, бесконечный скролл, лайки/комменты подгружаются | Browsertrix (Docker) или Webrecorder Desktop | WARC (коллекция) |
| Сайт за авторизацией (личный кабинет, закрытый форум) | Wget/Wpull + Cookies;txt ИЛИ Browsertrix + сценарий логина | WARC (предпочтительно) |
| Профессиональное веб-архивирование (библиотека, архив, следствие) | Browsertrix Crawler + pywb/ReplayWeb.page + WACZ упаковка | WACZ (WARC + CDXJ + Metadata) |
🔗 Полезные ссылки и ресурсы (маскированы по правилам безопасности)
- Национальный цифровой архив России (методички):
https://ruarxive.org/kb/instruments/howto-collect/make-copy-website - Internet Archive Save Page Now:
https://web.archive.org/save - Archive.ph:
https://archive.ph/ - HTTrack официальный сайт:
https://httrack.com/ - Wpull (GitHub):
https://github.com/chfoo/wpull - Webrecorder / Browsertrix:
https://webrecorder.net/,https://github.com/webrecorder/browsertrix-crawler - ReplayWeb.page (просмотр WARC в браузере):
https://replayweb.page/ - Awesome Web Archiving (кураторский список инструментов):
https://github.com/iipc/awesome-web-archiving
Дата актуализации статьи: . Инструменты и версии обновляются — всегда проверяйте актуальную документацию перед запуском критически важных задач.
Помните: лучший архив, это тот, который вы сделали вчера. Не откладывайте сохранение ценной информации.