🪞 GeiserX/web-mirror

web-mirror

Зеркалируйте любую веб-страницу на локальный сервер для офлайн-доступа. Скрейпер на Playwright + BeautifulSoup с поддержкой Wayback Machine.

GitHub репозиторий ↗ Wayback-Archive ↗
Инструмент развёрнут и готов на этом сервере

Возможности

Полноценное офлайн-зеркало сайта с ассетами

🎭

Рендеринг через Playwright

Полноценный headless-браузер Chromium: зеркалирует динамический контент и SPA, которые обычные краулеры пропускают.

🔗

Переписывание ссылок

BeautifulSoup переписывает все href и src в локальные пути — сайт работает как настоящий.

📦

Скачивание медиа

Видео, изображения и другие ресурсы сохраняются локально с сохранением структуры каталогов.

🗺️

Поддержка sitemap

Автоматический обход sitemap.xml с кэшированием запросов через requests-cache.

🕰️

Wayback Machine

Связанный проект Wayback-Archive качает удалённые сайты из архива с полным сохранением ассетов.

Кэширование

HTTP-кэш на 24 часа (requests-cache) снижает нагрузку на источник при повторных запусках.

Как запустить

Инструмент развёрнут на этом сервере. Подключитесь по SSH и выполните:

# web-mirror установлен в venv по пути /root/downloads/web-mirror-main cd /root/downloads/web-mirror-main # отредактируйте src/main2.py: укажите свой URL и язык nano src/main2.py # запуск зеркалирования venv/bin/python src/main2.py # результат появится в /data/ — каталог с офлайн-копией

Python venv с Playwright, BeautifulSoup и всеми зависимостями уже установлен ✅