Перейти к основному содержимому

Методика архивации соцсетей

Страницы платформ описывают команды для конкретной площадки. Здесь собрано общее для всех: что именно сохранять, как описать сбор и как хранить результат. Что можно получить на каждой площадке — в таблице по платформам.

Что собираете​

Сначала определите единицу сбора. От неё зависят инструмент, объём и описание архива.

ЕдиницаПримерКак обычно собирают
Аккаунт, канал, сообществостена сообщества VK, канал Telegram, канал YouTubeлента целиком, потом докачка новых записей
Запросхэштег, ключевые словапоиск через API, если площадка его даёт: X, Mastodon, Threads
Событие или темавыборы, закрытие изданиясписок аккаунтов и запросов плюс период
Отдельная публикацияпост как свидетельствоснимок с хешем: Auto-Archiver, archive.ph

Для события запишите список аккаунтов и запросов до начала сбора. Иначе потом не понять, чего в архиве нет.

Данные, вид или файлы​

Из соцсети сохраняют три разные вещи. Ни одна не заменяет другие.

ДанныеВид страницыФайлы
Что этоответы API или экспорт: JSON, JSONLстраница, как её видел читатель: WARC/WACZфото, видео, документы
ЧемVK API, tdl, Telethon, twarc2, API Mastodon и BlueskyBrowsertrixyt-dlp, gallery-dl, tdl
Зачемпоиск, подсчёты, исследованиесвидетельство, просмотр в pywb и ReplayWeb.pageсам материал в исходном качестве
Чего нетвёрстки и того, как лента выгляделаполной истории, комментариев и файлов, которых не было на экранеконтекста: кто, где и когда опубликовал

Файл без метаданных теряет контекст. Поэтому yt-dlp запускают с --write-info-json, gallery-dl — с --write-metadata, а экспорт Telegram Desktop делают в JSON.

Для важного аккаунта сочетайте способы: данные — для полноты, снимок нескольких страниц — чтобы было видно, как это выглядело.

Что теряется​

  • Удалённое до сбора. Ни один способ его не вернёт. Остаются только снимки Wayback Machine и archive.ph, если кто-то сделал их раньше.
  • Правки. Сохраняется версия поста на момент сбора. Чтобы видеть изменения, собирайте повторно и храните выгрузки рядом, а не поверх старых.
  • Счётчики. Просмотры, лайки и число подписчиков верны только на момент сбора. Время сбора — часть данных.
  • Комментарии. На одних площадках их собирают отдельным запросом, на других доступен только снимок страницы.
  • Закрытое. Личные сообщения и закрытые группы, в которых вас нет, этими способами не достаются.

Поэтому собирайте рано и повторяйте сбор. Если площадке грозит закрытие или блокировка — сразу, см. ограничения доступа в России.

Паспорт сбора​

Рядом с архивом положите README.md. Без него через год никто не скажет, что в архиве есть и чего нет.

# Канал @example_channel, Telegram

- Что собрано: все посты канала и медиафайлы, без комментариев
- Период публикаций: 2019-03-01 — 2026-10-28
- Дата сбора: 2026-10-29, 10:15–14:40 UTC
- Инструмент: tdl 0.20.4
- Команды: commands.txt
- Аккаунт: отдельный аккаунт для архивации
- Кто собирал: имя или ник
- Известные пропуски: посты 10–12 мая 2021 года не выгрузились
- Контрольные суммы: SHA256SUMS

Команды сохраняйте дословно, с версией инструмента. Данные самого аккаунта (номер телефона, логин) в паспорт не пишут.

Аккаунт и сессии​

  • Отдельный аккаунт. За автоматический сбор площадки ограничивают аккаунты: Instagram, Facebook, YouTube, Telegram. Пусть под удар попадёт не личный.
  • Одна сессия. Войдите один раз и переиспользуйте сессию: частые входы выглядят подозрительно. Для этого есть профиль Browsertrix, файл сессии Instaloader и Telethon, --cookies-from-browser у yt-dlp и gallery-dl.
  • Сессия — это доступ. Файлы сессий, cookies и профиль браузера открывают аккаунт без пароля. Не кладите их в архив, в git и в открытое хранилище.
  • Только своё. Сохраняйте то, что ваш аккаунт и так вправе видеть. Подробнее — архивация страниц, которые видны после входа.

Темп и лимиты​

  • Паузы между запросами: --sleep-requests и --sleep-interval у yt-dlp, wait_time у Telethon, --wait у Wget.
  • Журнал скачанного, чтобы после остановки продолжить, а не начинать заново: --download-archive у yt-dlp и gallery-dl, --continue у tdl, последний сохранённый id в своём скрипте.
  • Ошибка 429, капча, FloodWait — сигнал замедлиться, а не обходить защиту. Что делать вместо обхода — антибот-защита и архивация.
  • Пробный запуск. Большую выгрузку сначала проверьте на 10–20 записях.

Хранение​

  • Храните исходные ответы API и экспорт без изменений. Чистку и преобразования делайте в копии.
  • Текстовые данные — в JSONL, по одной записи на строку, сжатые gzip. Такой файл легко дописывать и читать построчно.
  • Медиафайлы кладите рядом с данными, с ID поста или видео в имени файла: по нему файл связывается с записью.
  • Посчитайте контрольные суммы и проверяйте их после каждого копирования:
gzip -k messages.jsonl
# контрольные суммы всех файлов архива
find . -type f ! -name SHA256SUMS -print0 | sort -z | xargs -0 sha256sum > SHA256SUMS
# проверка после копирования
sha256sum -c SHA256SUMS

Если sha256sum в системе нет (старые версии macOS), используйте shasum -a 256.

Команды проверены на macOS 26.5 (октябрь 2026).

Право и этика​

  • Сбор, хранение и публикация — разные действия. Что можно сохранить для себя, не всегда можно выложить.
  • Имена, фотографии и комментарии людей — персональные данные. Не собирайте больше, чем нужно для цели: для архива текстов канала профили комментаторов не нужны.
  • Публичная доступность не даёт права на новую публикацию: авторское право.
  • Правила площадок часто запрещают автоматический сбор. Как к ним относится архивация — условия использования сервисов.
  • Не собирайте данные для травли и деанонимизации. Закрытые группы — только с согласия участников.

Перед сбором​

  1. Определите единицу сбора и период.
  2. Решите, что нужно: данные, вид, файлы или их сочетание.
  3. Если нужен вход, заведите отдельный аккаунт.
  4. Проверьте команду на 10–20 записях.
  5. Запустите сбор с журналом скачанного и паузами.
  6. Напишите паспорт сбора и посчитайте контрольные суммы.
  7. Сделайте вторую копию в другом месте.

Связанные материалы​