2024'te CAPTCHA Nasıl Atlanır?#

Ne öğreneceksin?#

Nodejs'de Puppeteer ile CAPTCHA'yı farklı yöntemler kullanarak nasıl atlayacağınızı öğreneceksiniz:

Kuklacı CAPTCHA'yı Atlayabilir mi?#

Cevap evet, CAPTCHA'ları atlamanın iki ana yolu var: CAPTCHA çözücü kullanmak (hızlı ve daha ucuz) veya bunları önlemek için gelişmiş teknikler uygulamak

Yöntem #1: Puppeteer ve NextCaptcha ile CAPTCHA'yı atlayın#

Resmi bir demo kullanarak Puppeteer'da CAPTCHA'yı yönetmek için NextCaptcha adlı çözümleyici hizmetiyle çalışacağız. Şimdi bazı bağımlılıklar yükleyelim ve modülleri içe aktaralım
  npm install -S puppeteer nextcaptcha-ts
  import NextCaptcha from 'nextcaptcha-ts';
  import puppeteer from 'puppeteer';
Ardından bir Chrome örneği açın ve demo sayfasına gidin.
  const url = "https://www.google.com/recaptcha/api2/demo"

  const browser = await puppeteer.launch({});
  const page = await browser.newPage();
  await page.goto(url, {
    waitUntil: 'networkidle0',
  });
Bir sonraki adım CAPTCHA web sitesi anahtarını ve web sitesi URL'sini bulmaktır. Metin çözümünü döndüren NextCaptcha istemcisi. Bunu data.solution.gRecaptchaResponse değişkenine kaydedin.
  const data = await client.recaptchaV2({websiteKey, websiteURL: url});
  console.log('gRecaptchaResponse: ', data.solution.gRecaptchaResponse);
  console.log('submitting form .. ');
  await Promise.all([
      page.click('#recaptcha-demo-submit'),
      page.waitForNavigation({ waitUntil: "networkidle0" })
  ]);

  console.log('making a screenshot ...');
  await page.screenshot({ path: 'screenshot.png' });

  console.log('closing browser .. ');
  await browser.close();

Yöntem #2: Kuklacı Gizliliğini Uygulayın#

Puppeteer'ın kullanımının tanımlanması kolaydır çünkü temel sürümü, Kullanıcı Aracısı adı gibi, kolayca bir CAPTCHA isteyebilecek bazı net bot sinyalleri gönderir. Bunu kanıtlamak için bir çek sitesi olan sannysoft.com'a erişmeyi deneyelim. Bunun için, başlıksız bir Chrome örneği oluşturun, sayfanın yüklenmesini beklemek için hedef URL'yi goto() işlevine iletin ve ekran görüntüsü alın.
  import NextCaptcha from 'nextcaptcha-ts';
  import puppeteer from 'puppeteer';

  const url = "https://bot.sannysoft.com"
  const browser = await puppeteer.launch({
      headless: true
  });
  const page = await browser.newPage();
  await page.goto(url, {
      waitUntil: 'networkidle0',
  });
  console.log('making a screenshot ...');
  await page.screenshot({ path: 'screenshot.png' });
  await sleep(30000)
  console.log('closing browser .. ');
  await browser.close();


  function sleep(time = 1000) {
      return new Promise((resolve) => {
          setTimeout(() => {
              resolve(true)
          }, time)
      })
  }
WebDrive'ın mevcut olduğunu gösterecektir (başarısız oldu) Erişim engellendi! sannysoft insan dışı trafiği tespit etti ve botumuzu engelledi. Burası, kuklacı-ekstra-gizli eklentinin, kuklacı-ekstra için bir eklentinin ve tespit edilmeyi önlemek için oyun yazarı-ekstranın kurtarmaya geldiği yerdir. Trafiğinizin daha manuel görünmesini sağlayacak ve CAPTCHA'lar ile engellenmeyi önleyecektir. Başlangıç ​​olarak Stealth paketini yükleyin
  npm install puppeteer-extra puppeteer-extra-plugin-stealth
  import puppeteer from 'puppeteer-extra';
  import puppeteer-extra-plugin-stealth from 'puppeteer-extra-plugin-stealth';

  const StealthPlugin = require('puppeteer-extra-plugin-stealth')
  puppeteer.use(StealthPlugin())
sonra kuklacıyı normal olarak kullanın
  const url = "https://bot.sannysoft.com"
  const browser = await puppeteer.launch({
      headless: true
  });
  const page = await browser.newPage();
  await page.goto(url, {
      waitUntil: 'networkidle0',
  });
  console.log('making a screenshot ...');
  await page.screenshot({ path: 'screenshot.png' });
  await sleep(30000)
  console.log('closing browser .. ');
  await browser.close();


  function sleep(time = 1000) {
      return new Promise((resolve) => {
          setTimeout(() => {
              resolve(true)
          }, time)
      })
  }
Çıktıya bakalım: check-success Başarı! Bu, Puppeteer ile CAPTCHA'nın atlanmasına yardımcı olur.

Çözüm#

Başarılı veri alımı için CAPTCHA'yı yönetmek amacıyla tamamen güvenebileceğiniz güçlü bir araca ihtiyacınız var. NextCaptcha, tüm anti-bot zorluklarının üstesinden gelmenizi sağlayan kurulumu kolay bir API sağlar ve bunu bugün ücretsiz olarak deneyebilirsiniz.