Looking for international version of our service? Go to 2captcha.com

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

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

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

Катя Пушкаренва

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

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

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

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

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

Для автоматизации обхода требуется применение продвинутых моделей машинного обучения или 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-ключ от сервиса RuCaptcha. Дополнительную информацию и примеры использования можно найти в официальной документации RuCaptcha

Итоги

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

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

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