CAPSOLVER
Блог
Как решить Cloudflare | Использование Puppeteer и Node.js

Как решить Cloudflare | Использование Puppeteer и Node.js

Logo of CapSolver

Nikolai Smirnov

Software Development Lead

22-Aug-2024

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

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

В этом руководстве я расскажу, как эффективно обойти защиту Cloudflare, такую как Turnstile, с использованием Puppeteer и Node.js при помощи CapSolver.

Бонусный код

Получите Бонусный код для лучших решений по разгадыванию капч; CapSolver: WEBS. После его активации вы получите дополнительный бонус 5% после каждого пополнения, без ограничений.

Понимание Cloudflare’s Turnstile

Cloudflare's Turnstile — это сложная система безопасности, разработанная для проверки пользователей, пытающихся получить доступ к защищенным сайтам. Она использует комбинацию методов, включая JavaScript вызовы, CAPTCHAs и анализ поведения, чтобы определить, является ли пользователь настоящим человеком или автоматизированным ботом. Для разработчиков это означает, что обход Turnstile требует больше, чем просто традиционные методы веб-скрейпинга.

Необходимые условия

Перед началом реализации убедитесь, что у вас есть следующие инструменты и ресурсы:

  • Node.js: Установите последнюю версию Node.js с официального сайта.
  • Puppeteer: Node.js библиотека, предоставляющая высокоуровневый API для управления Chrome или Chromium, полезна для задач автоматизации.
  • CapSolver API Key: Зарегистрируйтесь на CapSolver и получите API ключ для решения CAPTCHA.

Что такое CapSolver?

CapSolver — это мощный инструмент, разработанный для помощи в решении CAPTCHAs и других автоматизированных вызовов. По мере того как веб-сайты все чаще внедряют сложные механизмы безопасности для предотвращения ботов и скрейперов, CapSolver предлагает надежное решение для преодоления этих препятствий.

Ключевые особенности CapSolver:

  • Всеобъемлющие решения для CAPTCHA: CapSolver поддерживает различные типы CAPTCHAs, включая reCAPTCHA, captcha, Cloudflare, ImageToText и другие, что позволяет легко справляться с вызовами.
  • Высокая точность: Используя передовые алгоритмы и модели машинного обучения, CapSolver обеспечивает высокую точность в решении CAPTCHAs, что снижает процент ошибок и повышает эффективность.
  • Легкая интеграция: CapSolver предлагает удобный API, который легко интегрируется с вашими существующими инструментами автоматизации, включая Puppeteer. Это позволяет автоматизировать решение CAPTCHAs в рамках ваших процессов веб-скрейпинга или тестирования.
  • Круглосуточная поддержка: CapSolver предоставляет надежную поддержку клиентов для помощи в решении любых проблем или вопросов, обеспечивая бесперебойную работу и своевременную помощь.

Детализированные шаги реализации

  1. Использование Puppeteer и JavaScript для вызова CapSolver API и доступа к веб-сайту

    • Puppeteer — это мощная библиотека Node.js, которая позволяет управлять Chrome или Chromium без интерфейса через протокол DevTools. В этом контексте она используется для навигации по веб-страницам и управления сложными взаимодействиями, такими как работа с CAPTCHAs.
  2. Получение SiteKey для Turnstile

    • SiteKey — это важный элемент, который необходимо получить для решения задачи Turnstile. Этот ключ уникален для каждого веб-сайта и необходим для взаимодействия с CAPTCHA-solving API. Вы можете извлечь SiteKey, анализируя HTML веб-сайта или используя инструменты, такие как CapSolver Extension, для упрощения процесса. Для подробного руководства о том, как идентифицировать необходимые параметры, обратитесь к нашему блогу.
  3. Использование JavaScript для вызова CapSolver API и получения токена

    • Как только у вас будет SiteKey, вы можете сделать запрос к CapSolver API. Это включает создание задачи, которую CapSolver будет обрабатывать для решения CAPTCHA. API вернет токен, который вы сможете использовать для обхода защиты Turnstile.
    • Вот пример взаимодействия с CapSolver API с использованием JavaScript:
javascript Copy
// npm install axios puppeteer-core
const axios = require('axios');
const puppeteer = require("puppeteer-core");

const api_key = "YOUR_API_KEY";
const site_key = "0xxxxxx";
const site_url = "https://xxx.xxx.xxx/xxx";
const proxy = "http://xxx:xxx@x.x.x.x:x"

async function capsolver() {
  const payload = {
    clientKey: api_key,
    task: {
      type: 'AntiTurnstileTaskProxyLess',
      websiteKey: site_key,
      websiteURL: site_url,
      metadata: {
          action: '',  // optional,
          type: "turnstile"
      },
      // proxy: proxy
    }
  };

  try {
    const res = await axios.post("https://api.capsolver.com/createTask", payload);
    const task_id = res.data.taskId;
    if (!task_id) {
      console.log("Не удалось создать задачу:", res.data);
      return;
    }
    console.log("Получен taskId:", task_id);

    while (true) {
      await new Promise(resolve => setTimeout(resolve, 1000)); // Задержка на 1 секунду

      const getResultPayload = {clientKey: api_key, taskId: task_id};
      const resp = await axios.post("https://api.capsolver.com/getTaskResult", getResultPayload);
      const status = resp.data.status;

      if (status === "ready") {
        return resp.data.solution.token;
      }
      if (status === "failed" || resp.data.errorId) {
        console.log("Ошибка при решении! Ответ:", resp.data);
        return;
      }
    }
  } catch (error) {
    console.error("Ошибка:", error);
  }
}

const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
async function reqSite(){
  let coockie;
  await capsolver().then(token => {
    console.log(token);
    coockie = token;
  });

  const browser = await puppeteer.launch({
    headless: false,
    executablePath: "Browser Path"
  });

  const page = await browser.newPage();
  await wait(500);
  await page.setCookie({
    name: "cf_clearance",
    value: coockie,
    domain: "xx.xx.xx"
  });
  await wait(500);
  await page.goto(site_url);
  // TODO
  await page.close();
  await browser.disconnect();
}

reqSite().then();
  1. Установка cookies с помощью Puppeteer и доступ к содержимому страницы
    • С токеном, полученным от CapSolver, вы можете теперь установить соответствующие cookies в Puppeteer для обхода защиты Cloudflare. Этот шаг является критически важным, так как он позволяет вам получить доступ к защищенному содержимому на веб-сайте.

Заключение

В этом руководстве мы рассмотрели, как эффективно преодолеть защиту Cloudflare's Turnstile с использованием Puppeteer и CapSolver API. Понимая особенности защитных мер Cloudflare и используя такие мощные инструменты, как CapSolver, разработчики могут успешно автоматизировать задачи, такие как веб-скрейпинг, извлечение данных и тестирование, не нарушая при этом правовые нормы

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

Если вы работаете над аналогичными проектами, не стесняйтесь исследовать CapSolver для надежных решений по решению CAPTCHA. Для получения более подробной информации обязательно ознакомьтесь с такими темами, как [луч

шие практики обхода защиты Cloudflare](https://www.capsolver.com/blog/Cloudflare) и интеграция CapSolver с другими популярными инструментами автоматизации.**

Дисклеймер о соблюдении: Информация, представленная в этом блоге, предназначена только для справочных целей. CapSolver обязуется соблюдать все применимые законы и нормы. Использование сети CapSolver для незаконной, мошеннической или злоупотребляющей деятельности строго запрещено и будет расследовано. Наши решения для распознавания капчи улучшают пользовательский опыт, обеспечивая 100% соблюдение при помощи в решении трудностей с капчей в процессе сбора общедоступных данных. Мы призываем к ответственному использованию наших услуг. Для получения дополнительной информации, пожалуйста, посетите наши Условия обслуживания и Политику конфиденциальности.

Ещеe

Как обойти защиту Cloudflare JS при веб-скрейпинге и автоматизации
Как обойти защиту Cloudflare JS при веб-скрапинге и автоматизации

Научитесь решать JavaScript-вызов Cloudflare для бесшовного веб-скрапинга и автоматизации. Откройте для себя эффективные стратегии, включая использование headless-браузеров, ротацию прокси и использование расширенных возможностей решения CAPTCHA от CapSolver.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

05-Mar-2025

Отпечатки TLS в Cloudflare: что это такое и как их решить
Отпечатки TLS Cloudflare: что это и как это решить

Узнайте о применении Cloudflare TLS-фингерпринтинга в целях безопасности, как он обнаруживает и блокирует ботов, и изучите эффективные методы решения этой проблемы для веб-скрейпинга и автоматизированного просмотра.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

28-Feb-2025

Как извлечь данные с сайта, защищенного Cloudflare
Как извлечь данные с сайта, защищенного Cloudflare

В этом руководстве мы рассмотрим этичные и эффективные методы извлечения данных с веб-сайтов, защищенных Cloudflare.

Cloudflare
Logo of CapSolver

Ethan Collins

20-Feb-2025

Как решать задачи Cloudflare с использованием Python и Go в 2025 году
Как решать задачи Cloudflare с использованием Python и Go в 2025 году

Поделюсь информацией о том, что такое Cloudflare Turnstile, используя Python и Go для этих задач, может ли Turnstile обнаружить Python-скрейперы и как эффективно обойти его с помощью таких решений, как CapSolver.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

05-Nov-2024

Как решить капчи Cloudflare Turnstile с помощью Selenium
Как обойти капчу Turnstile Cloudflare с помощью Selenium

В этом блоге мы рассмотрим несколько эффективных способов обхода Captcha Turnstile от Cloudflare с помощью Selenium.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

11-Oct-2024

Руководство по решению капчи Cloudflare Turnstile в Java для веб-автоматизации
Руководство по решению капчи Cloudflare Turnstile в Java для веб-автоматизации

Узнайте, как автоматизировать взаимодействие с веб-сайтами на Java и обойти CAPTCHA Cloudflare Turnstile с помощью практических инструментов и методов программирования.

Cloudflare
Logo of CapSolver

Nikolai Smirnov

08-Oct-2024