Загрузка...

Обходим cloudflare с Puppeteer.js

Тема в разделе Node.js создана пользователем caedes 5 сен 2023. (поднята 21 май 2025) 874 просмотра

  1. caedes
    caedes Автор темы 5 сен 2023 Faded 201 2 дек 2019
    Рад видеть людей в этом мертвом разделе под названием Node.js:smile_drinking:
    Как бы я этот puppeteer не вертел, но все равно капчу это обойти не мог, потому что надо было сделать именно автоматизацию, а не простой GET запрос для парсинга.
    Puppeteer-extra со stealth плагином тут не подходит, потому что использует жс инъекции и cloudflare все равно детектит.
    Так что сегодня мы обойдем эту хуйню в пару строк кода:fuckyea:

    В форме ZooTools надо ввести свой Email и нажать кнопку для подтверждения. После чего появляется Cloudflare капча, которую обычный puppeteer не обходит
    [IMG]

    Для обхода мы будем использовать очень интересную библиотеку https://github.com/CheshireCaat/puppeteer-with-fingerprints
    Сама либа основана на BAS https://fingerprints.bablosoft.com
    Либа, как написано, еще в бете, но для своих мелких проектов для обхода этой хуйни отлично подойдет

    Устанавливаем puppeteer, надеюсь все знакомы с тем, как создать нод жс проект:smile_drinking:
    npm i puppeteer-with-fingerprints
    npm i puppeteer


    JS

    const { plugin } = require('puppeteer-with-fingerprints');
    run()
    async function run(){
    const fingerprint = await plugin.fetch('', {
    tags: ['Microsoft Windows', 'Chrome'],
    });

    plugin.useFingerprint(fingerprint);

    const browser = await plugin.launch({headless: true});
    const page = await browser.newPage();
    await page.goto('https://form.zootools.co/go/bLFJhrGfkOoEQgt3I3LR');

    await page.type('div.sc-f883c6f6-0.iWNfih > div:nth-child(2) > div > div > label > input', 'lkljsdbflkasdbfsadhlbfhjdbfjksdabfjaasdkshd@gmail.com', {delay: 20})
    await page.click('div.sc-f883c6f6-0.iWNfih > div.sc-3276b432-3.edOQUg > button')
    await page.waitForNavigation()
    }
    После запуска либа подгрузит свои зависимости. Запуск занимает немного больше времени
    Запускаем и....
    [IMG]

    Если хотим все же использовать плагины из puppeteer-extra, то можем подключить вот таким способом
    JS
    const puppeteer = require('puppeteer-extra');
    const RecaptchaPlugin = require('puppeteer-extra-plugin-recaptcha');
    const { createPlugin } = require('puppeteer-with-fingerprints');

    puppeteer.use(RecaptchaPlugin({ provider: { id: "2captcha", token: "xxxxxxxxx" } }));

    const plugin = createPlugin({ launch: (options) => puppeteer.launch(options) });
    let fingerprint = await plugin.fetch('XXXXXXXXXXX', { tags: ['Android'] });
    plugin.useFingerprint(fingerprint);

    ...Код
    Всем спасибо, всем :pepelogout:
     
  2. el9in
    el9in 5 сен 2023 lolz.live/threads/7387449 — USDT TRC без комиссии
    Не знаю, но у меня puppeteer-extra вполне обходит.
     
    1. caedes Автор темы
      el9in, антибот при простом входе на сайт мб обойдет. Но капчу у меня обходить не хотел, да и эта либа получше stealth плагина будет
  3. mortenforever
    хорошо для тех кто не умеет гуглить)
     
  4. fazliddin_inactive4585019
    cloudscraper топчик
     
Загрузка...
Top