Когда в очередной раз понадобилось автоматизировать сбор данных с трёх разных поисковиков, я наткнулся на xbrowser — и это оказалось именно тем минималистичным инструментом, который не пытается быть «универсальным решением», а просто закрывает конкретную боль.
Что внутри
xbrowser позиционируется как CLI-инструмент для браузерной автоматизации с 35+ командами. На практике это выглядит как набор утилит для:
- Поиска (Google, Bing, Baidu)
- Скрапинга в Markdown
- Записи/воспроизведения действий
- Работы с 68 плагинами
Пример базового сценария поиска:
xbrowser search --engine google --query "site:github.com browser automation" --limit 50 --output results.json
Главный плюс — не нужно разбираться с Puppeteer/Playwright API для простых задач. Хотя под капотом как раз используется Puppeteer, но абстракция на уровне CLI экономит время.
Где реально полезно
- Быстрый прототип скрапера. Когда нужно проверить гипотезу по данным, но не хочется писать даже минимальный JS-скрипт:
xbrowser scrape --url https://example.com --selector "h2" --format markdown > headings.md
-
Пакетная обработка. Фича с
--input-fileпозволяет прогонять однотипные операции над списком URL. -
Интеграция в существующие bash-пайплайны. Например, сбор данных + обработка jq + отправка в телеграм-бот — всё в одной цепочке команд.
Ограничения и подводные камни
- Нет хэндлинга сложных JS-сайтов. Если контент грузится через API с последующим рендерингом, xbrowser может не справиться. В таких случаях проще сразу писать кастомный скрипт на Playwright.
- Плагины работают по принципу «как есть». Из 68 плагинов реально полезными мне показались штук 10 (например, screenshot, pdf-генерация). Остальные либо узкоспециализированные, либо дублируют базовый функционал.
- Требует донастройки для продакшена. Дефолтные таймауты (3 сек) часто недостаточны для реальных сайтов. Приходится дописывать wrapper-скрипты с ретраями.
Альтернативы и когда их выбирать
- Playwright/Puppeteer: когда нужен полный контроль над браузерным контекстом
- curl + jq: для простых GET-запросов к API
- Scrapy: если проект перерастает в полноценный парсинг-пайплайн
xbrowser занимает нишу между «написать скрипт» и «делать вручную». Особенно выручает в ad-hoc задачах вроде:
- Сравнить выдачи Google и Bing по ключевику
- Собрать список статей с блога конкурента
- Задокументировать текущий UI через скриншоты
Инструмент не претендует на революционность, но делает ровно то, что заявлено — экономит время на рутинных операциях. Для старта достаточно npm install -g xbrowser, а дальше уже решать, стоит ли погружаться глубже.
Источник: https://github.com/dyyz1993/xbrowser