Как запустить браузер в 10 раз быстрее Chrome и не разориться на серверах

15 Apr, 2026

Знакомая боль: нужно собрать данные с пары сотен страниц, вы запускаете Puppeteer или Playwright, и через пять минут кулер ноутбука имитирует взлет истребителя, а оперативная память исчезает в черной дыре. Chrome — великолепный браузер для людей, но для автоматизации это настоящий монстр, который тащит за собой тонны лишнего кода, графический движок и кучу сервисов, которые в консоли просто не нужны.

Недавно наткнулся на проект Lightpanda. Ребята решили пойти по хардкору: вместо того чтобы в очередной раз «допиливать» Chromium, они пишут браузер с нуля на Zig. Без графического интерфейса, без отрисовки пикселей, заточенный только под выполнение JavaScript и работу с DOM.

Logo

Почему просто не взять готовый headless режим

Обычно когда мы говорим «headless браузер», мы подразумеваем обычный Chrome, у которого просто отключили окно. Но под капотом остаются все те же мегабайты кода для рендеринга шрифтов, обработки CSS-анимаций и поддержки WebGL. Для парсинга или обучения нейросетей это балласт.

Lightpanda работает иначе. Разработчики выкинули всё, что касается визуализации, и оставили только «мозги»: движок V8 для исполнения JS и собственную реализацию DOM на Zig. Результаты тестов на AWS EC2 впечатляют: потребление памяти в 9 раз ниже, чем у Chrome, а скорость выполнения задач выше в 11 раз. Это не просто оптимизация, это другой уровень эффективности.

Что под капотом

Проект написан на Zig. Если вы следите за системным программированием, то знаете, что этот язык сейчас на подъеме из-за своей производительности и безопасности памяти без тяжелого рантайма.

Внутри Lightpanda использует:

  • V8 для работы с JavaScript.
  • Libcurl для сетевых запросов.
  • html5ever для парсинга HTML.

Самое приятное — браузер поддерживает протокол CDP (Chrome DevTools Protocol). Это значит, что вам не нужно переписывать свои скрипты на какой-то новый экзотический фреймворк. Можно просто подключить существующий проект на Puppeteer или Playwright к Lightpanda как к обычному удаленному браузеру.

Как это пощупать

Попробовать инструмент в деле можно буквально за пару минут. Если у вас Linux или macOS, достаточно скачать бинарник. Есть и Docker-образ, что удобно для тестов в изолированной среде.

Запуск сервера через Docker:

docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly

После этого можно подключаться из Node.js. Вот пример, как использовать Lightpanda вместе с Puppeteer:

import puppeteer from 'puppeteer-core';

// Подключаемся к запущенному серверу Lightpanda
const browser = await puppeteer.connect({
  browserWSEndpoint: "ws://127.0.0.1:9222",
});

const page = await browser.newPage();
await page.goto('https://example.com', { waitUntil: "networkidle0" });

const data = await page.evaluate(() => {
  return document.querySelector('h1').innerText;
});

console.log(data);
await browser.disconnect();

Код выглядит абсолютно стандартно, но выполняется он не в тяжелом Chrome, а в легковесном инстансе Lightpanda.

Для чего это пригодится

Я вижу несколько сценариев, где такой подход выигрывает всухую.

Во-первых, это AI-агенты и обучение LLM. Если вам нужно скармливать модели тысячи страниц в реальном времени, экономия ресурсов на масштабе будет колоссальной. Во-вторых, это сложный скрапинг сайтов, которые намертво завязаны на JS и не отдают данные без исполнения скриптов. Ну и, конечно, юнит-тестирование фронтенда в CI/CD пайплайнах, где скорость прохождения тестов напрямую влияет на время деплоя.

Нюансы и ограничения

Проект находится в стадии беты. Нужно понимать, что написать браузер с нуля — это задача титанической сложности. Web API огромен, и Lightpanda пока поддерживает его частично. Если ваш скрипт полагается на какие-то специфические или редкие API, он может упасть.

Разработчики честно предупреждают: Playwright может капризничать, потому что он часто использует хитрые внутренние механизмы браузера, которые в Lightpanda могут быть еще не реализованы. Но база — клики, ввод текста, работа с куками, прокси и перехват сетевых запросов — уже работает.

Кстати, в браузере есть встроенная поддержка robots.txt. Если запустить его с флагом --obey_robots, он будет автоматически соблюдать правила сайта, что полезно для «этичного» сбора данных.

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

Пока это не полная замена Chrome для любых задач, но для специфических кейсов вроде массового скрапинга или работы AI-агентов это может стать стандартом. Проект активно развивается, и за ним интересно наблюдать хотя бы ради того, как Zig показывает себя в таких серьезных задачах.