Реализация парсинга через Puppeteer/Playwright (headless browser)

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Реализация парсинга через Puppeteer/Playwright (headless browser)
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Реализация парсинга через Puppeteer/Playwright (headless browser)

Headless-браузеры — инструмент для парсинга сайтов, которые нельзя обработать статическим HTML-парсером: страницы на React/Vue/Angular, контент с lazy loading, данные за аутентификацией, динамические таблицы с infinite scroll.

Puppeteer vs Playwright

Параметр Puppeteer Playwright
Браузеры Chrome/Chromium Chrome, Firefox, Safari
Язык Node.js Node.js, Python, Java, C#
Auto-wait Нет (явные ожидания) Да (авто-ожидание элементов)
Скорость разработки Средняя Выше
Зрелость экосистемы Высокая Растущая

Playwright предпочтительнее для новых проектов: его auto-wait значительно сокращает количество ошибок при парсинге — нет нужды вручную ждать появления каждого элемента.

Типичный сценарий парсинга

// Playwright: парсинг каталога с infinite scroll
const browser = await chromium.launch({ headless: true });
const context = await browser.newContext({
  userAgent: 'Mozilla/5.0 ...',
  viewport: { width: 1280, height: 900 }
});
const page = await context.newPage();

await page.goto('https://example.com/catalog');

// Скролл до конца страницы
let prevHeight = 0;
while (true) {
  const height = await page.evaluate(() => document.body.scrollHeight);
  if (height === prevHeight) break;
  await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));
  await page.waitForTimeout(1500 + Math.random() * 1000);
  prevHeight = height;
}

// Извлечение данных
const items = await page.$$eval('.product-card', cards =>
  cards.map(card => ({
    title: card.querySelector('.title')?.textContent?.trim(),
    price: card.querySelector('.price')?.textContent?.trim(),
    url: card.querySelector('a')?.href
  }))
);

Оптимизация производительности

Запуск браузера дорогой. Для промышленного парсинга:

  • Пул браузерных контекстов — один процесс Chrome, несколько изолированных контекстов
  • Отключение ресурсов — блокировка загрузки шрифтов, картинок, аналитики через page.route()
  • Кластеризацияplaywright-cluster или самописный пул с worker_threads

Блокировка лишнего трафика снижает время загрузки страницы на 40–70% и расход памяти.

Обнаружение headless-браузеров

Современные защиты (DataDome, PerimeterX, Cloudflare Bot Management) детектируют автоматизацию по десяткам сигналов. Основные методы обхода:

  • playwright-stealth — патчит navigator.webdriver и другие детектируемые поля
  • Реалистичные движения мыши через playwright-mouse-helper
  • Уникальные fingerprints — разные viewport, timezone, locale для каждой сессии

Сроки

Базовый скрапер одного сайта: 2–4 дня. Скрапер с обходом защиты, прокси-ротацией и мониторингом: 7–10 дней.