Логотип «2Captcha»Перейти на главную страницу
Туториалы по обходу капчи

Эта статья была полезной?

Как решить текстовую капчу автоматически

Катя Пушкарёва

Технический специалист

Чтобы обойти капчи с текстовым содержанием можно использовать различные подходы.

В статье рассматривается метод обхода с использованием сервисов распознавания.

Причины поиска решения для автоматизации обхода

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

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

PHP

  1. Установка пакета:

    Используйте Composer для установки библиотеки:

bash Copy
   composer require 2captcha/2captcha
  1. Настройка клиента:
php Copy
   require 'vendor/autoload.php';

   use TwoCaptcha\TwoCaptcha;

   $solver = new TwoCaptcha('ВАШ_API_KEY');
  1. Решение текстовой капчи:
php Copy
   try {
       $result = $solver->text([
           'text' => 'Если завтра суббота, какой день сегодня?',
           'lang' => 'ru', // Опционально: указать язык
       ]);
       echo 'Капча решена: ' . $result->code;
   } catch (Exception $e) {
       echo 'Ошибка: ' . $e->getMessage();
   }

Python

  1. Установка пакета:

    Используйте pip для установки библиотеки:

bash Copy
   pip install 2captcha-python
  1. Настройка клиента:
python Copy
   from twocaptcha import TwoCaptcha

   solver = TwoCaptcha('ВАШ_API_KEY')
  1. Решение текстовой капчи:
python Copy
   try:
       result = solver.text('Если завтра суббота, какой день сегодня?', lang='ru')
       print('Капча решена:', result['code'])
   except Exception as e:
       print('Ошибка:', e)

Go

  1. Установка пакета:

    Используйте go get для установки библиотеки:

bash Copy
   go get -u github.com/2captcha/2captcha-go
  1. Настройка клиента:
go Copy
   package main

   import (
       "github.com/2captcha/2captcha-go"
   )

   func main() {
       client := api2captcha.NewClient("ВАШ_API_KEY")
       // Дополнительная настройка при необходимости
   }
  1. Решение текстовой капчи:
go Copy
   package main

   import (
       "fmt"
       "log"
       "github.com/2captcha/2captcha-go"
   )

   func main() {
       client := api2captcha.NewClient("ВАШ_API_KEY")

       cap := api2captcha.Text{
           Text: "Если завтра суббота, какой день сегодня?",
           Lang: "ru", // Опционально: указать язык
       }

       code, err := client.Solve(cap.ToRequest())
       if err != nil {
           log.Fatal("Ошибка:", err)
       }

       fmt.Println("Капча решена:", code)
   }

C#

  1. Установка пакета:

    Используйте NuGet для установки библиотеки:

powershell Copy
   Install-Package TwoCaptcha
  1. Настройка клиента:
csharp Copy
   using TwoCaptcha;

   var solver = new TwoCaptcha("ВАШ_API_KEY");
  1. Решение текстовой капчи:
csharp Copy
   using System;
   using TwoCaptcha.Captcha;

   class Program
   {
       static void Main()
       {
           var solver = new TwoCaptcha("ВАШ_API_KEY");

           var captcha = new Text
           {
               Text = "Если завтра суббота, какой день сегодня?",
               Lang = "ru" // Опционально: указать язык
           };

           try
           {
               solver.Solve(captcha).Wait();
               Console.WriteLine("Капча решена: " + captcha.Code);
           }
           catch (AggregateException e)
           {
               Console.WriteLine("Ошибка: " + e.InnerException.Message);
           }
       }
   }

Java

  1. Установка пакета:

    Добавьте зависимость в ваш pom.xml:

xml Copy
   <dependency>
       <groupId>com.github.2captcha</groupId>
       <artifactId>2captcha-java</artifactId>
       <version>1.0.0</version>
   </dependency>
  1. Настройка клиента:
java Copy
   import com.twocaptcha.TwoCaptcha;

   TwoCaptcha solver = new TwoCaptcha("ВАШ_API_KEY");
  1. Решение текстовой капчи:
java Copy
   import com.twocaptcha.TwoCaptcha;
   import com.twocaptcha.captcha.Text;

   public class Main {
       public static void main(String[] args) {
           TwoCaptcha solver = new TwoCaptcha("ВАШ_API_KEY");

           Text captcha = new Text();
           captcha.setText("Если завтра суббота, какой день сегодня?");
           captcha.setLang("ru"); // Опционально: указать язык

           try {
               solver.solve(captcha);
               System.out.println("Капча решена: " + captcha.getCode());
           } catch (Exception e) {
               System.out.println("Ошибка: " + e.getMessage());
           }
       }
   }

JavaScript (Node.js)

  1. Установка пакета:

    Используйте npm для установки библиотеки:

bash Copy
   npm install @2captcha/captcha-solver
  1. Настройка клиента:
javascript Copy
   const { Solver } = require('@2captcha/captcha-solver');
   const solver = new Solver('ВАШ_API_KEY');
  1. Решение текстовой капчи:
javascript Copy
   (async () => {
       try {
           const result = await solver.text({
               text: 'Если завтра суббота, какой день сегодня?',
               lang: 'ru' // Опционально: указать язык
           });
           console.log('Капча решена:', result);
       } catch (error) {
           console.error('Ошибка:', error.message);
       }
   })();

Обратите внимание, что в каждом примере необходимо заменить 'ВАШ_API_KEY' на ваш действующий API-ключ от сервиса 2Captcha. Дополнительную информацию и примеры использования можно найти в официальной документации 2Captcha

Итоги

Капчи остаются одним из самых барьерв препятствий при сборе данных из открытых источников и мешают доступности. Поэтому, важно провести оптимизацию способов обхода.

В статье рассмотрены способы решения на разных языках программирования.

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