Архивация HTML-страниц для бизнеса: SingleFile — АйТи Фреш
· 10 мин чтения

Архивация HTML-страниц для бизнеса: что хранить, чем и в каком формате

Архивация HTML-страниц для бизнеса: что хранить, чем и в каком формате

Привет! Меня зовут Семёнов Евгений Сергеевич, и я директор ITFresh. Знаете, какая просьба звучит от юрфирм и отделов закупок ну очень часто? «Помогите сохранить страницу как доказательство!» Вот представьте: конкурс на zakupki.gov.ru сняли, поставщик за ночь переписал цены на сайте, или партнёр вдруг убрал важный пункт из оферты. Если у вас нет чёткой копии, доказать потом что-то будет практически невозможно, да? Именно поэтому я хочу показать, какие инструменты реально работают, и почему обычное «сохранить как» из браузера в 2026 году — это, увы, уже совсем не выход.

Почему веб-страницу нельзя просто «сохранить как»

Встроенная в браузер функция «сохранить как HTML» — помните такую? Ей уже больше десяти лет! Она, как правило, выдаёт один файл и отдельную папку с картинками. Но проблема в том, что к 2026 году эта система сломана почти везде. Она просто не работает как надо, серьёзно:

Я сам был свидетелем, как юристы принесли в суд «сохранённый HTML» с сайта поставщика. А судья? Наотрез отказался его принимать в качестве доказательства! Его аргумент был прост и убийственен: «Из этого файла совершенно неясно, что человек реально видел на экране именно в ту дату». В итоге дело проиграли, а убытки составили… можете себе представить? Целых 480 000 рублей! Очень обидно, когда из-за такой мелочи теряешь такие деньги.

Три задачи, три формата

ЗадачаФорматИнструмент
Юридическое доказательство (суд, ФАС, нотариус)PDF + SingleFilePlaywright, SingleFile CLI
Архив тендеров отдела закупокSingleFileSingleFile CLI, браузерное расширение
Мониторинг конкурентов (цены, описания)Regular HTML + diffwget, changedetection.io
Долгосрочный архив (10+ лет)WARCwget --warc, webrecorder
Печать/отправка клиентуPDFChrome Headless, weasyprint
Быстрое сохранение в один кликSingleFileБраузерное расширение SingleFile

SingleFile — основной инструмент корпоративного архиватора

SingleFile — это просто находка! Удобное браузерное расширение и, кстати, ещё и CLI-утилита, которая сохраняет абсолютно полную копию страницы, да ещё и в один-единственный HTML-файл. Все ресурсы — будь то картинки, шрифты, CSS или даже хитрый inline-JS — встраиваются прямо в файл через data: URI. Откроете такую страницу в любом браузере, даже без интернета, и она покажет ровно то, что вы видели на экране. Никаких искажений, никаких сюрпризов!

Установить это расширение в Firefox или Chrome — дело всего 30 секунд, быстрее, чем заварить чай! Но если речь идёт о корпоративном развёртывании, где нужно настроить десятки или сотни компьютеров, мы используем проверенные методы. Для Windows это обычно автоматический push через GPO, а для Mac или Linux — через MDM.

Нужна автоматизация? Тогда вам пригодится CLI-версия на Node.js:

# Установка
npm install -g single-file-cli

# Сохранение одной страницы
single-file https://zakupki.gov.ru/epz/order/notice/ea44/view.html?id=12345 \
  --output-filename "tender-12345-$(date +%Y%m%d).html" \
  --browser-wait-until networkIdle2

# Пакетная обработка
cat urls.txt | xargs -I{} single-file {} --output-directory /archive/

Представляете, для тендера с zakupki.gov.ru типичный файл занимает всего 2-6 МБ, и это со всеми картинками и JS-виджетами! Открывается в Firefox за секунду, и что самое крутое — даже через 5 лет после сохранения он будет работать так же молниеносно.

Минус SingleFile: файлы с тяжёлыми галереями раздуваются до сотен МБ. Сайт с 200 фотографиями продукта может превратиться в 150 МБ HTML. На такие случаи мы настраиваем фильтр — исключаем .jpg/.png больше 500 КБ, сохраняем только URL.

Генерация PDF для нотариального заверения

Для суда или нотариуса PDF — это просто ключевой формат, и вот почему. Во-первых, нотариусы привыкли работать именно с ним; их софт без проблем «переваривает» PDF-файлы. А во-вторых, PDF гораздо проще заверить электронной подписью с квалифицированным сертификатом (КЭП). И тогда это уже не просто скриншот, а полноценная, юридически значимая копия страницы. Чувствуете разницу?

Chrome headless — типовой инструмент:

chromium --headless --disable-gpu \
  --print-to-pdf="/archive/offer-20260128.pdf" \
  --print-to-pdf-no-header \
  --virtual-time-budget=10000 \
  https://supplier.example.com/offer/1234

А для тех, кому нужны идеальные PDF-документы с полным рендером SPA-приложений, я рекомендую Playwright:

const { chromium } = require('playwright');
(async () => {
  const b = await chromium.launch();
  const p = await b.newPage();
  await p.goto('https://supplier.example.com/offer/1234',
    { waitUntil: 'networkidle' });
  await p.waitForTimeout(2000);
  await p.pdf({
    path: '/archive/offer-20260128.pdf',
    format: 'A4',
    printBackground: true
  });
  await b.close();
})();

Что дальше после генерации PDF? А дальше — магия! Подписываем его КЭП через КриптоПро CSP или CryptoArm. Всё, документ становится юридически значимым. Просто и эффективно.

WARC — для серьёзного долгосрочного архива

Что такое WARC? Это не просто файл, это международный стандарт ISO 28500! В WARC-файле хранится не только сама HTML-страница, но и всё, что происходило за кулисами: исходные HTTP-заголовки, метаданные запроса, даже ответы сервера. Это позволяет нам полностью реконструировать любой запрос, до мельчайших деталей. Настоящий цифровой детектив!

Когда нужен WARC:

Для простых случаев я беру wget, а для действительно сложных задач — WebRecorder:

# Simple WARC через wget
wget --warc-file=tender-20260128 \
     --warc-cdx \
     --no-check-certificate \
     --recursive --level=2 \
     https://zakupki.gov.ru/epz/order/notice/ea44/view.html?id=12345

# Получаем:
# tender-20260128.warc.gz (40-200 МБ)
# tender-20260128.cdx (индекс для поиска)

Открыть WARC можно в ReplayWebPage (replayweb.page) или через Pywb-сервер. Но есть нюанс: нотариусы пока принимают WARC нехотя, им всё же привычнее работать с PDF. Поэтому на практике мы делаем двойной удар: WARC — для глубокого архива, а PDF с КЭП — это наш основной козырь для суда.

Кейс: архиватор для юрфирмы на 18 юристов

Помню, в сентябре 2025 года к нам обратилась одна юридическая фирма. У них целых 18 юристов, и специализируются они, понятное дело, на спорах по поставкам и закупкам. До того, как мы пришли, каждый юрист сохранял страницы как бог на душу положит: кто-то просто Ctrl+S, кто-то делал скриншоты, а кто-то и вовсе пользовался Evernote. И что в итоге? Когда доходило до суда, выяснялось, что добрая половина этих копий либо не открывается, либо не содержит критически важной информации. Представьте, какой хаос!

Что мы сделали за 8 рабочих дней:

  1. Мы развернули для них внутренний сервер архивации прямо в локальной сети, на Debian 12. Это всего один KVM: 4 vCPU, 8 ГБ оперативной памяти и целых 2 ТБ NVMe-диска. Работает как часы!
  2. Какую связку мы собрали? Всё просто и надёжно: веб-форма на nginx, бэкенд на Flask, очередь Redis для обработки задач. А за саму архивацию отвечают воркеры SingleFile CLI и Playwright, работающие параллельно. Эффективно, правда?
  3. Как это работает? Каждая заявка от юриста — а это URL, контекст дела, описание — проходит через три этапа обработки. Сначала SingleFile, затем конвертация в PDF, и в конце — вычисление контрольной суммы SHA-256 для обоих файлов. Тройная проверка, чтобы ничего не упустить.
  4. Все результаты — готовый архив — мы аккуратно складываем в MinIO S3. А вот все метаданные: ID, URL, временная метка, кто из юристов запросил, номер дела, хеши файлов — всё это надёжно хранится в PostgreSQL. Порядок в данных — залог успеха.
  5. Есть ещё одна фишка: автоматически ставится таймер на три месяца. По его истечении архиватор снова сохраняет те же URL. Зачем? Для сравнения! Мы можем отслеживать изменения с помощью 'diff' по HTML. Ни одно изменение не пройдёт незамеченным.
  6. И, конечно, мы интегрировали КриптоПро. Это значит, что юрист может одним кликом подписать PDF корпоративной квалифицированной электронной подписью (КЭП). Подписанный документ тут же сохраняется — всё быстро и безопасно.
  7. За сохранность данных мы отвечаем максимально серьёзно. Ежедневно, точно в 22:00, вся информация архивируется и дублируется на нашем надёжном Synology NAS прямо в офисе. А чтобы уж точно ничто не угрожало вашим проектам, раз в неделю мы создаём дополнительную копию на защищённом offsite NVMe-носителе и помещаем его в сейф. Так ваш бизнес будет в безопасности, что бы ни случилось.

И какой же итог нашей работы за полгода? Да просто фантастика! Мы собрали огромный архив на 14 800 документов, общим объёмом в 47 ГБ. С нашей помощью фирма выиграла целых пять судов, используя те самые нотариально заверенные PDF из нашей системы. А самое главное — ни один документ не «исчез» в самый неподходящий момент, от момента сохранения до самого заседания. Стоимость проекта составила 240 000 рублей за настройку, плюс 45 000 рублей ежемесячно на поддержку и все обновления.

Мониторинг изменений на сайтах конкурентов и поставщиков

Отдельная полезная задача — следить за изменениями на сайтах. Рекомендую changedetection.io: ставится одним docker-compose, ловит изменения на указанных URL, отправляет diff в Telegram или на email.

# docker-compose.yml
services:
  cdio:
    image: dgtlmoon/changedetection.io:latest
    ports: ["5000:5000"]
    volumes: ["./data:/datastore"]
    environment:
      - PUID=1000
      - PGID=1000

Для одной юрфирмы мы настроили кое-что интересное: мониторинг сразу 64 сайтов их клиентских поставщиков. Как только меняются условия поставки или цены, менеджеру по клиентскому счёту приходит автоматическое уведомление. Результат? Уже за первый месяц система засекла три случая, когда поставщики молча меняли условия договора. Двое клиентов благодаря этому сэкономили в общей сложности 2.2 миллиона рублей на штрафах. Приятно, не правда ли?

Куда это всё хранить

Знаете, я никогда, вот прямо никогда, не посоветую держать важные архивы на рабочих станциях сотрудников. Почему? Потому что это просто ненадёжно! Мы в ITFresh знаем куда более грамотные и безопасные варианты.

Настроим корпоративный архиватор веб-страниц — от 180 000 руб.

Я лично занимаюсь проектированием и внедрением автоматических архиваторов для юрфирм, отделов закупок и маркетинга по всей Москве и области. Моё решение включает SingleFile + PDF с КЭП + WARC для долгосрочного архива, удобную веб-форму для сотрудников, а также хранение в Samba/S3/Nextcloud с дедупликацией. Типовой проект занимает обычно 1-2 недели. И, кстати, предварительный аудит ваших бизнес-процессов и требований я провожу совершенно бесплатно.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — архивация HTML для бизнеса

Зачем бизнесу архивировать веб-страницы?
Три основные причины: юридические (доказательства оферт и условий договора на момент заключения), закупочные (сохранение состава конкурса на zakupki.gov.ru и коммерческих тендерных площадок), мониторинг конкурентов и цен. Без архивации суд и ФАС вам не поверят на слово.
Чем SingleFile отличается от PDF-сохранения?
SingleFile сохраняет полную интерактивную копию страницы в одном HTML-файле с встроенными CSS, JS, картинками — как браузер видел её в момент захвата. PDF даёт только визуальный слой без интерактивности, но легче для печати и отправки в суд. Для юридических целей я рекомендую хранить оба формата.
Что такое WARC и когда он нужен?
WARC (Web ARChive) — стандарт консорциума ISO 28500 для долгосрочного архивирования веб-контента. В WARC хранятся HTTP-заголовки, cookies, метаданные. Нужен для крупных архивов (десятки тысяч страниц), когда критична сохранность HTTP-контекста — например, для судебных экспертиз по криптовалюте или расследований.
Можно ли автоматизировать архивацию в корпоративной сети?
Да, через SingleFile CLI + cron/Taskscheduler или через WebRecorder Server. Мы ставим сервер архивации на отдельную VM, отдел закупок/юристы отправляют URL через форму — бот сохраняет страницу и выдаёт подписанный SHA-256-хеш для удостоверения неизменности.
Сколько занимает архив крупных сайтов?
Одна страница коммерческого тендера — 2-6 МБ в SingleFile, 0.3-1 МБ в PDF. За год отдел закупок накопит 15-40 ГБ. Для хранения отлично подходит Samba-шара с дедупликацией, MinIO S3 или Nextcloud. Затраты на железо — около 5 000 руб. в год за 500 ГБ на NVMe.

Подпишитесь на рассылку ITfresh

Каждую неделю? Наши эксперты делятся практическими гайдами. Это прямое попадание для руководителя IT и сисадмина. Мы разбираем всё: от безопасности и 1С, до сложных миграций, надёжных резервных копий. И, конечно, даём ценные лайфхаки из реальных проектов — то, что реально работает.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.