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

HTTrack

HTTrack — бесплатный открытый инструмент (GPL-3.0) для копирования сайтов на локальный компьютер: он рекурсивно скачивает страницы, изображения и другие файлы и переписывает ссылки так, чтобы зеркало можно было просматривать офлайн.

После долгого перерыва (версия 3.49-2 вышла в 2017 году) проект снова активно развивается: в 2026 году вышла серия релизов 3.49-3…3.50-5 с поддержкой современных HTTPS-серверов, SOCKS5, Brotli/Zstandard и записью WARC.

Описание​

Особенности​

  • Интерфейсы: консольная утилита httrack, графические оболочки WinHTTrack (Windows) и WebHTTrack (Linux, BSD, macOS; запускается командой webhttrack и открывается в браузере).
  • Рекурсивная загрузка: скачивает сайт с сохранением структуры.
  • Офлайн-просмотр: переписывает ссылки для локального просмотра.
  • Обновление и докачка: может обновить существующее зеркало и продолжить прерванную загрузку.
  • Фильтрация: гибкие правила включения и исключения URL.
  • WARC: с версии 3.49-14 (июль 2026 года) — запись WARC/1.1, индекса CDXJ и упаковка в WACZ.

Установка​

Windows​

Скачайте установщик WinHTTrack с официального сайта.

Linux​

# Ubuntu/Debian
sudo apt-get install httrack webhttrack

# Fedora
sudo dnf install httrack

Пакеты в дистрибутивах могут быть старыми (например, 3.49.2 без поддержки WARC). Проверьте версию командой httrack --version; свежую версию можно собрать из исходников (./configure && make && sudo make install).

macOS​

brew install httrack

Команды и параметры сверены с man-страницей httrack.1 и history.txt репозитория xroche/httrack версии 3.50.5 (октябрь 2026).

Использование​

Мастер настройки​

Команда httrack без аргументов запускает текстовый мастер в консоли: он по очереди спрашивает адрес, каталог и параметры. Графический интерфейс — это отдельные программы WinHTTrack и WebHTTrack.

Командная строка​

httrack https://example.com/ -O /path/to/output

Базовые опции​

httrack https://example.com/ \
-O /path/to/output \
-r5 \
-%v
  • -O: каталог зеркала (и журналов/кэша);
  • -r5: глубина рекурсии — 5 уровней (--depth);
  • -%v: показывать на экране имена скачиваемых файлов (--display).

Не путайте с -%p (--preserve): этот параметр сохраняет HTML «как есть», без переписывания ссылок, и офлайн-просмотр зеркала после этого работать не будет.

Запись WARC​

Начиная с версии 3.49-14 HTTrack сам пишет архив в формате WARC/1.1 (ISO 28500):

httrack https://example.com/ \
-O /path/to/output \
--warc \
--warc-file example \
--warc-cdx \
--wacz
  • --warc (-%r) — писать WARC/1.1;
  • --warc-file NAME — имя выходного файла;
  • --warc-max-size N — начинать новый сегмент WARC после N байт;
  • --warc-cdx — дополнительно записать отсортированный индекс CDXJ;
  • --wacz — упаковать всё в WACZ (его можно открыть в ReplayWeb.page).

Эти параметры доступны и в WebHTTrack.

Конвертация старых зеркал: httrack2warc​

Для зеркал, сделанных старыми версиями HTTrack, есть конвертер httrack2warc от Национальной библиотеки Австралии. Он восстанавливает запросы и ответы из кэша hts-cache и журналов, поэтому результат приблизительный (авторы предупреждают, что инструмент не используется у них в продакшене). Готовый JAR — на странице релизов, нужна Java 8+:

java -jar httrack2warc-0.6.1-shaded.jar -o /path/to/warcs /path/to/httrack/output

Сравнение с Wget​

ИнструментGUIWARCПростотаРекомендация
HTTrackДа (WinHTTrack/WebHTTrack)Да, с 3.49-14 (--warc); для старых версий — конвертацияВысокаяДля пользователей GUI и офлайн-зеркал
WgetНетДа (--warc-file, с версии 1.14)ВысокаяДля командной строки
Browsertrix CrawlerВ сервисе BrowsertrixДа (WARC/WACZ)СредняяДля сайтов с JavaScript

Когда использовать HTTrack​

  • Нужен графический интерфейс.
  • Простые статические сайты.
  • Нужно офлайн-зеркало для просмотра без специальных программ.

Когда использовать Wget​

  • Работа в командной строке и автоматизация через скрипты.
  • В системе доступен только старый пакет HTTrack без поддержки WARC.

Когда не использовать HTTrack​

  • Сайты, где контент подгружается JavaScript-ом, и SPA — используйте Browsertrix Crawler.
  • Очень большие обходы с распределением нагрузки — Heritrix или Brozzler.

Best practices​

Ограничения​

httrack https://example.com/ \
-O /path/to/output \
-r3 \
-m10000000 \
-M500000000 \
-E3600
  • -mN (--max-files) — максимальный размер одного не-HTML файла в байтах (здесь 10 МБ);
  • -MN (--max-size) — максимальный общий объём загрузки в байтах (здесь 500 МБ);
  • -EN (--max-time) — максимальное время зеркалирования в секундах (здесь 1 час);
  • -cN (--sockets) — число одновременных соединений (по умолчанию 4); -AN (--max-rate) — ограничение скорости в байтах/с.

Фильтрация​

httrack https://example.com/ \
-O /path/to/output \
"+*.example.com/*" \
"-*.jpg" \
"-*.png"

Правила фильтрации лучше брать в кавычки, чтобы оболочка не раскрыла *.

Продолжение прерванной загрузки и обновление​

cd /path/to/output
httrack --continue # продолжить прерванное зеркало по кэшу (-i)
httrack --update # обновить существующее зеркало

Команды запускаются из каталога проекта (или с тем же -O), где лежит кэш hts-cache.

Ограничения​

  • Не выполняет JavaScript (только пытается найти ссылки в скриптах).
  • Не подходит для SPA-приложений.
  • Запись WARC появилась недавно (2026 год) — проверяйте результат в ReplayWeb.page или pywb.

Ресурсы​

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