【问题标题】:Problem with implementing 2captcha, python selenium实现 2captcha,python selenium 的问题
【发布时间】:2020-09-19 14:46:56
【问题描述】:

我在 python selenium 中实现 2captcha 时遇到问题。下面是代码。验证码无法解决。我没有弹出错误,但验证码无法解析

import requests
from time import sleep

# Add these values
API_KEY = ''  # Your 2captcha API KEY
site_key = ''  # site-key, read the 2captcha docs on how to get this
url = 'http://somewebsite.com'  # example url
proxy = '127.0.0.1:6969'  # example proxy

proxy = {'http': 'http://' + proxy, 'https': 'https://' + proxy}

s = requests.Session()

# here we post site key to 2captcha to get captcha ID (and we parse it here too)
captcha_id = s.post("http://2captcha.com/in.php?key={}&method=userrecaptcha&googlekey={}&pageurl={}".format(API_KEY, site_key, url), proxies=proxy).text.split('|')[1]
# then we parse gresponse from 2captcha response
recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id), proxies=proxy).text
print("solving ref captcha...")
while 'CAPCHA_NOT_READY' in recaptcha_answer:
    sleep(5)
    recaptcha_answer = s.get("http://2captcha.com/res.php?key={}&action=get&id={}".format(API_KEY, captcha_id), proxies=proxy).text
recaptcha_answer = recaptcha_answer.split('|')[1]

# we make the payload for the post data here, use something like mitmproxy or fiddler to see what is needed
payload = {
    'key': 'value',
    'gresponse': recaptcha_answer  # This is the response from 2captcha, which is needed for the post request to go through.
    }


# then send the post request to the url
response = s.post(url, payload, proxies=proxy)

【问题讨论】:

    标签: python selenium recaptcha captcha 2captcha


    【解决方案1】:

    这是 requests 库而不是 selenium 的 2Captcha 指南,可能它不适用于 selenium,请尝试查看此页面,2captcha API + selenium

    【讨论】:

      猜你喜欢
      • 2020-02-03
      • 2021-04-10
      • 2020-11-24
      • 2021-10-22
      • 1970-01-01
      • 2021-02-04
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      相关资源
      最近更新 更多