GeeTest - AndreiDrang/python-rucaptcha GitHub Wiki
Решение GeeTest-капчи при помощи библиотеки
Стандартный пример
Найти следующие параметры на странице сайта с капчей (обычно их можно найти внутри функции initGeetest):
gt- публичный ключ сайта (статический)challenge- динамический ключ заданияapi_server- домен API (обязателен для некоторых сайтов)pageurl- полный URL страницы с капчей GeeTest
Статичные параметры передаются при инициализации класса. Параметр, который меняется каждый раз при новой капче(challenge) должен передаваться непосредственно в метод отвечающий за начало решения капчи captcha_handler.
from python_rucaptcha.GeeTest import GeeTest
gee = GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0',
gt='qt_key_123',
api_server='api-na.geetest.com',
pageurl='https://www.geetest.com/en/')
result = gee.captcha_handler(challenge='some_challenge')
С contextmanager
Тот же самый принцип сохраняется и при решении капчи с использованием contextmanager.
from python_rucaptcha.GeeTest import GeeTest
with GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0',
gt='qt_key_123',
api_server='api-na.geetest.com',
pageurl='https://www.geetest.com/en/') as gee:
result = gee.captcha_handler(challenge='some_challenge')
Дополнительные параметры
При инициализации класса ему можно передать дополнительные параметры описанные в таблице: Список параметров GET/POST запроса к http://rucaptcha.com/in.php.
К примеру добавим переменную header_acao из таблицы:
from python_rucaptcha.GeeTest import GeeTest
gee = GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0',
gt='qt_key_123',
api_server='api-na.geetest.com',
pageurl='https://www.geetest.com/en/',
header_acao=1)
result = gee.captcha_handler(challenge='some_challenge')
Так же дополнительные параметры можно передать и в вызываемый для решения капчи метод captcha_handler.
К примеру добавим переменную header_acao из таблицы Список параметров GET-запроса к http://rucaptcha.com/res.php:
from python_rucaptcha.GeeTest import GeeTest
gee = GeeTest(rucaptcha_key='0aba1234465beaf1935aa83fef9fc0d0',
gt='qt_key_123',
api_server='api-na.geetest.com',
pageurl='https://www.geetest.com/en/')
result = gee.captcha_handler(challenge='some_challenge', header_acao=1)