Интегрируйте GeeTestTask (python3_anticaptcha) с селеном в python3 - PullRequest
0 голосов
/ 20 февраля 2020

У меня проблема с python3_anticaptcha (API, предоставляемый anti-captcha.com), поиск в Интернете, поиск поддержки и попытка в течение месяца, но не повезло.

API делает c: https://anticaptcha.atlassian.net/wiki/spaces/API/pages/416972814/GeeTestTaskProxyless+-+captcha+from+geetest.com+without+proxy

Я делаю автоматический вход на веб-сайт и копирую API для антикаптчи do c:

def runGee(self, challenge):
    print("start gee")
    try:

        # Enter the key to the AntiCaptcha service from your account. Anticaptcha service key.
        ANTICAPTCHA_KEY = "mycode"
        # обязательные параметры
        websiteURL = "https:\/\/www.nike.com.hk"
        gt = "2328764cdf162e8e60cc0b04383fef81"
        print("sloving1")
        print("challenge:" ,challenge)
        # пример работы с GeeTestTask без прокси
        result = GeeTestTaskProxyless.GeeTestTaskProxyless(anticaptcha_key=ANTICAPTCHA_KEY,
                                                           websiteURL=websiteURL,
                                                           gt=gt).captcha_handler(challenge=challenge)
        print("sloving2")
        print(result)
        print("--end gee--")
    except Exception as err:
        print(err)
        print("--end with error--")

Однако, geetask начинается заново 3 минуты (или больше) и каждый раз получал ошибку. обычно код ошибки, например:

{'errorId': 34, 'errorCode': 'ERROR_TOKEN_EXPIRED', 'errorDescription': 'Captcha provider 
reported that additional variable token has expired.', 'taskId': 1204556667}

или

{'errorId': 12, 'errorCode': 'ERROR_CAPTCHA_UNSOLVABLE', 'errorDescription': '  Captcha 
could not be solved by 5 different workers.', 'taskId': 1204060350}

.. et c

, зависит от того, какой параметр я передал.

Может я знаю, я передаю правильное значение в geetask? или что-то не так в коде? Более того, если geetest вернет правильное значение, мне нужно будет сделать что-нибудь еще, чтобы передать capcha (или передать код на сервер geetest) или GeeTestTaskProxyless уже (не делать ничего)?

это крайне сложно для меня, Кто-нибудь успешно использовал этот API? Спасибо

1 Ответ

0 голосов
/ 21 февраля 2020

Мне кажется, что эти ошибки происходят из-за прокси (если вы его используете) или просто из-за плохого IP. Лично я пользуюсь другим сервисом, использующим капчу, и у меня не было таких проблем с ним. Я советую вам попробовать, на самом деле это намного проще: https://2captcha.com/2captcha-api#solving_geetest

Вы должны отправить запрос, подобный этому:

https://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=geetest&gt=f1ab2cdefa3456789012345b6c78d90e&challenge=12345678abc90123d45678ef90123a456b&api_server=api-na.geetest.com&pageurl=https: // www.example.com/page/

Вам нужно получить архив, чтобы получить от него правильный ответ, как этот:

{"вызов": «1a2b3456cd67890e12345fab678901c2de», «validate»: «09fe8d7c6ba54f32e1dcb0a9fedc8765», «seccode»: «12fe3d4c56789ba01f2e345d6789c012 | узел 10 *, что вам нужно ответить на 10 *, * * * * * Просто прочитайте первую ссылку, которую я вам дал.

Приветствия.

...