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

Browsertrix

Browsertrix — это современный инструмент для веб-архивирования, разработанный командой Webrecorder. Его главная особенность — использование реального браузера (через Browsertrix Crawler) для захвата динамических сайтов, которые сложно архивировать классическими инструментами типа Heritrix или Wget.

Зачем нужен Browsertrix?​

Многие современные сайты (Twitter, Instagram, SPA-приложения) активно используют JavaScript для подгрузки контента. "Тупые" кроулеры получают только пустой HTML-каркас.

Browsertrix запускает браузер Chrome в изолированном контейнере, "прокликивает" страницу, скроллит её и записывает весь сетевой трафик в формат WACZ (или WARC).

Варианты использования​

1. Browsertrix Desktop (для начинающих)​

Приложение с графическим интерфейсом для Windows, Mac и Linux. Позволяет архивировать сайты локально с использованием профилей браузера (можно залогиниться в соцсеть и запустить архивацию).

2. Browsertrix Cloud (для организаций)​

Облачный сервис для командной работы, планирования кроулов и управления коллекциями.

3. Browsertrix Crawler (Docker / CLI)​

Консольная версия, упакованная в Docker. Основной инструмент для автоматизации.

Запуск через Docker​

Самый гибкий способ использования — через Docker.

# Простой запуск архивации одной страницы
docker run --rm -v $PWD/data:/crawl/data \
webrecorder/browsertrix-crawler crawl \
--url https://example.com \
--generateWACZ \
--collection "My Crawl"

После завершения в папке data появится файл .wacz.

Расширенные опции​

  • --limit X: Ограничить количество страниц.
  • --include-regex: Архивировать только URL, совпадающие с регулярным выражением.
  • --behaviors autoscroll,autoplay: Включить автоматический скроллинг и автовоспроизведение видео.

Behaviors (Поведения)​

Browsertrix поддерживает скрипты "поведения" (behaviors), которые имитируют действия пользователя:

  • Скроллинг страницы до конца.
  • Нажатие кнопок "Показать еще".
  • Раскрытие комментариев.

Это критически важно для соцсетей.

Аутентификация​

Для архивации закрытых страниц (например, Facebook) можно передать файлы cookie или использовать профиль браузера. Это позволяет кроулеру "видеть" сайт как залогиненный пользователь.

[!WARNING] Будьте осторожны при архивации личных аккаунтов. Агрессивный кроулинг может привести к блокировке аккаунта социальной сетью.

Сравнение с другими браузерными кроулерами​

Brozzler​

Brozzler — распределённый веб-кроулер, использующий реальный браузер (Chrome или Chromium).

  • Отличия от Browsertrix:
    • Поддержка распределённой архитектуры
    • Интеграция с Redis для координации
    • Более сложная настройка
    • Подходит для больших проектов

Squidwarc​

Squidwarc — высококачественный интерактивный архивный кроулер, использующий Chrome или Chrome Headless.

  • Отличия от Browsertrix:
    • Фокус на интерактивном архивировании
    • Прямое управление Chrome
    • Подходит для сложных SPA приложений

Browsertrix Cloud​

Browsertrix Cloud — облачный сервис от Webrecorder для командной работы с веб-архивами.

  • Возможности:

    • Планирование кроулов
    • Управление коллекциями
    • Совместная работа
    • API для автоматизации
  • Использование: Для организаций, которым нужен управляемый сервис без самостоятельного развёртывания

Best practices для behaviors​

Автоматический скроллинг​

--behaviors autoscroll

Полезно для:

  • Ленты новостей
  • Социальных сетей
  • Страниц с бесконечной прокруткой

Автовоспроизведение медиа​

--behaviors autoplay

Полезно для:

  • Видео-сайтов
  • Аудио-плееров
  • Интерактивного контента

Комбинирование behaviors​

--behaviors autoscroll,autoplay,clickAll

Примеры конфигураций​

Архивация социальной сети​

docker run --rm -v $PWD/data:/crawl/data \
webrecorder/browsertrix-crawler crawl \
--url https://example-social-network.com/user/profile \
--generateWACZ \
--behaviors autoscroll,autoplay \
--limit 1000 \
--collection "Social Network Archive"

Архивация SPA приложения​

docker run --rm -v $PWD/data:/crawl/data \
webrecorder/browsertrix-crawler crawl \
--url https://spa-app.example.com \
--generateWACZ \
--behaviors autoscroll \
--waitFor 5000 \
--collection "SPA Archive"

Архивация с аутентификацией​

docker run --rm -v $PWD/data:/crawl/data \
-v $PWD/cookies.txt:/crawl/cookies.txt \
webrecorder/browsertrix-crawler crawl \
--url https://private-site.com \
--generateWACZ \
--cookies /crawl/cookies.txt \
--collection "Private Site Archive"

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