В Nstbrowser теперь доступно решение CAPTCHA с поддержкой 5 типов CAPTCHA.

Подробнее

🚀

Платформенный прокси запущен в Nstbrowser — встроенные прокси из$0.4/GB.

Начать сейчас

  • Цены
  • Документация
RU
Контакт

© 2026 NST LABS TECH LTD. ALL RIGHTS RESERVED

Продукт

Браузер с защитой от отпечатков пальцев
Nstbrowser RPA
AI Agent Skills
Прокси
Обход Cloudflare
Веб-разблокировщик

Решение

Облачный браузер для защиты от отпечатков пальцев
Управление несколькими аккаунтами
Веб-скрапинг
Решения против обнаружения ботов
Изоляция данных для безопасности предприятия
Проверка IP для Claude AI

Ресурс

Цены
Скачать
Торговая площадка RPA
Партнерская программа
Партнеры
Блоги
Примечания к выпуску

Поддерживать

Контакт

Документация

Юридический

Условия
политика конфиденциальности
Политика использования файлов cookie

ПродуктРешениеРесурсПоддерживатьЮридический

ПродуктРешениеРесурс

ПоддерживатьЮридический

© 2026 NST LABS TECH LTD. ALL RIGHTS RESERVED

Назад к блогу
обнаружения ботов
Web Scraping

Как избежать обнаружения ботов с помощью Puppeteer?

Обнаружение ботов очень раздражает! Можно ли использовать Puppeteer, чтобы избежать обнаружения ботов? 8 способов здесь.
Jul 05, 2024Luke Ulyanov

Почему существуют антиботы?

  • Защита ресурсов и производительности веб-сайта

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

Системы антиботов помогают веб-сайтам управлять и ограничивать такие запросы, поддерживая стабильность и доступность сайта.

  • Предотвращение кражи и злоупотребления данными

Некоторые программы-боты сканируют контент на веб-сайтах для несанкционированного использования, например, кражи контента и извлечения данных. Антиботы помогают защитить данные и контент от несанкционированного доступа и использования.

  • Повышение безопасности

Злонамеренные боты могут использоваться для различных атак, таких как распределенные атаки отказа в обслуживании (DDoS), подбор паролей и другие. Система антиботов может выявлять и блокировать такие вредоносные действия, улучшая общую безопасность сайта.

  • Защита конфиденциальности пользователей

Некоторые боты могут пытаться получить личную информацию пользователей, такую как адреса электронной почты, контактные данные и т.д. Системы антиботов помогают защитить конфиденциальность пользователей и предотвратить несанкционированный сбор и использование этой информации.

  • Улучшение пользовательского опыта

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

  • Предотвращение мошенничества с рекламой

Некоторые боты имитируют действия пользователей, кликая по рекламе для совершения рекламного мошенничества, что приводит к убыткам для рекламодателей. Антиботы могут выявлять и блокировать такие ложные клики, защищая интересы рекламодателей.

Как работают антиботы?

Антиботы выявляют и блокируют трафик ботов с помощью различных методов и техник. Здесь рассмотрены 6 основных методов анализа:

1. Анализ поведения

  • Мониторинг моделей поведения пользователя на сайте, таких как движения мыши, клики, прокрутка и ввод с клавиатуры. Боты обычно не могут имитировать естественное поведение человека.
  • Анализ скорости и частоты запросов пользователя. Боты обычно делают запросы на сверхчеловеческой скорости, например, большое количество запросов в секунду.

2. Определение устройства и среды

  • Сбор информации о цифровом отпечатке браузера пользователя, включая тип браузера, версию, операционную систему, плагины и т.д. Отпечаток браузера бота обычно отличается от отпечатка реального пользователя.
  • Проверка поля User-Agent в заголовке запроса. Многие боты используют предустановленные или аномальные значения User-Agent.

3. Механизмы вызова-ответа

  • Антиботы используют CAPTCHA или reCAPTCHA, требуя от пользователей выполнения определенных задач (например, распознавания объектов на изображениях) для подтверждения их человечности.
  • Вставка скрытых полей или ссылок на страницы веб-сайта (Honey Pot), где реальные пользователи не взаимодействуют с этими элементами, а боты могут активировать эти ловушки, выдавая себя.

4. Определение IP и геолокации

  • Использование списка известных вредоносных IP-адресов для блокировки запросов с этих адресов.
  • Ограничение доступа на основе географического положения IP-адреса, например, разрешая запросы только из определенных стран или регионов.

5. Анализ трафика

  • Мониторинг и анализ моделей трафика веб-сайта для выявления аномальных всплесков трафика и распределения.
  • Анализ длительности и шаблонов взаимодействия сеансов пользователей. Сеансы ботов обычно короткие и имеют повторяющиеся шаблоны.

6. Машинное обучение

Использование алгоритмов машинного обучения для анализа и выявления различий в поведении между обычными пользователями и ботами. Модели машинного обучения могут непрерывно обучаться и адаптироваться к новым поведениям ботов.

Как сайты обнаруживают Puppeteer?

Сайты могут проверять определенные переменные JavaScript на странице, которые обычно связаны с использованием Puppeteer.

Например, они могут искать имена переменных, содержащие "puppeteer" или другие релевантные идентификаторы:

javascript Copy
for (let key in window) {
    if (key.includes('puppeteer') || key.includes('webdriver')) {
        // Puppeteer обнаружен
    }
}

Puppeteer также изменяет поведение браузера для автоматизации задач. В результате сайты могут проверять наличие и значение свойства navigator.webdriver, или других флагов автоматизации, чтобы определить, управляется ли браузер инструментом автоматизации.

Это свойство обычно установлено в true в Puppeteer.

Самый простой способ избежать обнаружения ботов — Nstbrowser

Хотите быстро избежать обнаружения ботов? Начните использовать Nstbrowser бесплатно прямо сейчас!

Nstbrowser предлагает:

  • Умную ротацию IP-адресов
  • Премиум-прокси
  • Решатель CAPTCHA

Nstbrowser не только использует реальные цифровые отпечатки браузера для доступа в интернет, но и имитирует поведение и привычки реальных пользователей, делая его неуловимым для антиботов.

Кроме того, чтобы упростить веб-скрапинг и автоматизацию, Nstbrowser оснащен мощной технологией обхода блокировок сайтов, обеспечивающей беспрепятственный доступ к интернету.

8 лучших способов избежать обнаружения ботов с Puppeteer

Как упоминалось ранее, обнаружение ботов стало большой проблемой для веб-сканеров. Но не волнуйтесь! Мы все еще можем легко решить эту проблему.

Помимо использования Nstbrowser, вот несколько техник, которые вы можете использовать, чтобы избежать обнаружения ботов с Puppeteer:

Метод 1. Ротация IP/прокси

Основной способ обнаружения большинства антиботов — это проверка IP-адреса. Веб-серверы могут выявлять закономерности, отслеживая каждый запрос, поступающий с одного и того же IP-адреса.

Они используют Веб-аппликационные межсетевые экраны (WAF) для отслеживания и блокировки активности IP-адресов и заносят подозрительные IP-адреса в черный список. Повторяющиеся и запланированные запросы к серверу могут повредить репутацию IP-адреса и привести к его постоянному блокированию.

Чтобы избежать обнаружения ботов, вы можете настроить прокси, используя ротацию IP или Puppeteer:

javascript Copy
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    args: [
      '--proxy-server=http://your_proxy_ip:your_proxy_port',
      // Добавьте любые другие флаги Chrome, которые вам нужны
    ],
  });
  const page = await browser.newPage();

  // Теперь Puppeteer будет использовать указанный выше прокси
  await page.goto('https://example.com');
  
  // Продолжайте выполнение ваших задач автоматизации

  await browser.close();
})();
  • Аргумент --proxy-server=http://your_proxy_ip:your_proxy_port указывает адрес и порт сервера прокси.
  • Вы можете добавить дополнительные флаги Chrome (args) по мере необходимости.

Убедитесь, что заменили your_proxy_ip и your_proxy_port на адрес и номер порта используемого вами сервера прокси.

Метод 2. Ротация HTTP-заголовков и User-Agent

Сайты обычно проверяют User-Agent запроса, чтобы определить, из какого браузера и операционной системы поступает запрос.

В общем случае Puppeteer использует фиксированный User-Agent, что делает его легкой мишенью для обнаружения. Рандомизация User-Agent повысит вероятность признания запросов, как идущих от разных реальных пользователей.

Кроме того, антиботы также проверяют HTTP-заголовки для идентификации ботов. Это включает такие заголовки, как Accept-Language, Accept-Encoding, Cache-Control и другие.

Предустановленные HTTP-заголовки также могут выдать использование инструментов автоматизации. Рандомизация и настройка общих HTTP-заголовков поможет сделать ваши запросы аутентичными.

javascript Copy
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const randomUseragent = require('random-useragent'); // Библиотека для случайных User-Agent

puppeteer.use(StealthPlugin());

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();

  // Определите общие HTTP-заголовки
  const commonHeaders = {
    'Accept-Language': 'ru-RU,

ru;q=0.9,en-US;q=0.8,en;q=0.7',
    'Accept-Encoding': 'gzip, deflate, br',
    'Cache-Control': 'no-cache',
  };

  // Функция для настройки случайных заголовков
  const setRandomHeaders = async (page) => {
    const userAgent = randomUseragent.getRandom(); // Получите случайный User-Agent
    await page.setUserAgent(userAgent);

    await page.setExtraHTTPHeaders(commonHeaders);
  };

  await setRandomHeaders(page);

  await page.evaluateOnNewDocument(() => {
    Object.defineProperty(navigator, 'webdriver', {
      get: () => false,
    });
  });

  await page.goto('https://example.com', {
    waitUntil: 'networkidle2',
  });
})();

Метод 3. Отключение navigator.webdriver

По умолчанию Puppeteer устанавливает свойство navigator.webdriver в значение true, что выдает использование автоматизации. Отключение или модификация этого свойства помогает уменьшить вероятность обнаружения.

javascript Copy
await page.evaluateOnNewDocument(() => {
  Object.defineProperty(navigator, 'webdriver', { get: () => false });
});

Метод 4. Использование плагина stealth

Использование плагина puppeteer-extra-plugin-stealth может помочь Puppeteer избежать обнаружения как бота. Этот плагин модифицирует поведение браузера, чтобы он выглядел как браузер реального пользователя.

Сначала нужно установить плагины puppeteer-extra и puppeteer-extra-plugin-stealth:

bash Copy
npm install puppeteer-extra puppeteer-extra-plugin-stealth

Затем можно использовать эти плагины в вашем коде для запуска Puppeteer:

javascript Copy
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());

const browser = await puppeteer.launch({ headless: true });

Метод 5. Использование Cookies

Повторные входы в систему всегда необходимы, если вы хотите извлечь данные из социальных сетей или других сайтов, требующих аутентификации.

Эта повторная аутентификация может вызвать предупреждение, и учетная запись может быть заблокирована или столкнуться с CAPTCHA или другими средствами проверки.

Чтобы избежать этого, можно использовать cookies. После входа в систему один раз, вы можете сохранить cookie сессии и повторно использовать ее в будущем.

Метод 6. Использование службы решения CAPTCHA

Во время веб-сканирования вы неизбежно столкнетесь с CAPTCHA. Вы можете воспользоваться службами решения CAPTCHA, которые используют реальных пользователей для решения CAPTCHA, что снижает вероятность быть обнаруженным как бот.

Это может помочь избежать обнаружения и снизить общую стоимость запуска бота.

Nstbrowser легко обходит обнаружение ботов с помощью мощного решателя CAPTCHA.
Начните использовать бесплатно сейчас!

Есть ли у вас хорошие идеи или вопросы о веб-скрейпинге и Browserless?
Посмотрите чем делятся другие разработчики в Discord и Telegram!

Метод 7. Задержка ввода и рандомизация

Реальные пользователи не могут делать 500 запросов за минуту!

Реальные пользователи также не могут иметь фиксированные и запланированные привычки просмотра!

Поэтому, чтобы избежать легкого обнаружения антиботами, необходимо установить задержку ввода и операции рандомизации для программы автоматизации при использовании Puppeteer. Это имитирует реального пользователя, снижая риск обнаружения.

  • Симуляция скорости ввода человека вместо мгновенного ввода:
javascript Copy
await page.type('input[name=username]', 'myUsername', { delay: 100 });
await page.type('input[name=password]', 'myPassword', { delay: 100 });
  • Рандомизация движений мыши, кликов и операций прокрутки:
javascript Copy
await page.mouse.move(100, 100);
await page.mouse.click(100, 100);

Метод 8. Использование расширений браузера

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

Загрузка локальных расширений:

  • Загрузите нужные вам расширения браузера (например, Chrome) локально.
  • Загрузите расширение, указав параметры args при запуске Puppeteer:
javascript Copy
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false, // режим без headless
    args: [
      `--disable-extensions-except=/path/to/extension/`, // Загрузка расширений с указанными путями
      `--load-extension=/path/to/extension/`
    ]
  });
  const page = await browser.newPage();
  await page.goto('https://example.com');
  // Продолжайте выполнение вашего кода
})();
  • Это позволит вам загружать и использовать определенные расширения в экземплярах браузера, управляемых Puppeteer, что иногда может помочь избежать обнаружения ботов.

Изменение пути по умолчанию для расширений Chrome

Puppeteer по умолчанию использует пустой каталог расширений для эмуляции Chrome. Вы можете указать пользовательский каталог данных, настроив userDataDir и предзагрузив в него необходимые расширения.

Заключение

В этой статье мы обсудили:

  • Почему сайты используют антиботы?
  • Как они работают?
  • 8 лучших способов избежать обнаружения ботов с Puppeteer.

RPA-решение от Nstbrowser является одним из лучших доступных вариантов для избегания обнаружения ботов, и вы можете настроить его и использовать совершенно бесплатно.

Больше
скрейпинг веб-сайтов с помощью Colly
Web Scraping
Как сделать веб-скрэйпинг на Golang с помощью Colly?
Golang – один из самых мощных инструментов для веб-скрапинга. И Colly очень помогает при работе с Go. Прочитайте этот блог и узнайте самую подробную информацию о Colly, а также о том, как скрапить сайты с помощью Colly.
Sep 30, 2024Luke Ulyanov
Java web Crawler
Web Scraping
Web Crawler на Java: пошаговое руководство 2024
Java web Crawler помогает легко выполнять задачи веб-скрапинга и автоматизации. Как выполнять веб-скрапинг с помощью Java web Crawler? Здесь есть все, что вам понравится!
Aug 16, 2024Vasilisa Samsonova
scrapy vs beautifulsoup
Web Scraping
Scrapy vs Beautifulsoup - кто из них вам больше подходит?
Scrapy vs BeautifulSoup, в чем сходства и различия? Что лучше для вас? Узнайте в этом блоге.
Jul 31, 2024Luke Ulyanov
антидетекторный браузер
Web Scraping
Лучший браузер-антидетектор для веб-скрапинга 2024
Браузер-антиопределитель поможет вам скрыть отпечаток пальца браузера при соскабливании веб-страницы. Это действительно упрощает ваши задачи. Читайте этот блог и узнайте больше!
Jul 19, 2024Vasilisa Samsonova
Urllib, Urllib3, Requests
Web Scraping
Urllib vs Urllib3 vs Requests: какой из них лучше всего подходит для парсинга веб-страниц?
Urllib, urllib3 и Requests — три замечательные и распространенные библиотеки Python. В чем разница между этими тремя? Прочтите эту статью и найдите тот, который подойдет именно вам!
Jul 17, 2024Luke Ulyanov
Ошибка 403
Web Scraping
Ошибка 403 Forbidden: Что это такое? Как ее исправить?
Ошибка 403 очень раздражает! Что такое ошибка 403 forbidden? Как ее решить? В этом блоге есть все.
Jul 12, 2024Robin Brown
Каталог