我对2 2captchas和Python完全陌生,所以我想弄清楚这两种方法是如何工作的。现在,我正在编写python脚本,并在spyder上运行它来解析图片captcha。我的代码(使用2 2captcha )返回站点的html作为返回响应。它试图注册一个站点,但最终失败的主要任务是解决captcha问题。我的代码看起来像这样
import requests
from time import sleep
API_KEY = '2captchaapi' # Your 2captcha API KEY
site_key = '2captcha site key' # site-key, read the 2captcha docs on how to get this
url = 'site' # example url
proxy = 'proxy' # 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]
print(recaptcha_answer)
payload = {
'signup-form[votes]': '',
'signin-form[subs]': '',
'signin-form[post_referer]': 'site',
'signup-form[step2][hidden_captcha]': '',
'signup-form[details][login]': 'name@gmail.com',
'signup-form[details][profile_name]': 'name1',
'signup-form[details][password]': 'secret44%',
'signup-form[details][password_confirm]': 'secret44%',
'signup-form[details][tos_pp]': 'on',
'signup-form[step2][optional][age]': '24',
'signup-form[step2][optional][sex]': 'Man',
'signup-form[step2][optional][country]': 'france',
'signup-form[step2][optional][language]': 'french',
'signup-form[step2][profilepic][file]': '',
'g-recaptcha-response': recaptcha_answer
}
# then send the post request to the url
response = s.post(url, payload, verify=False)
print(response.text)请让我知道如何使用这段代码解决图像上限,如果我使用正确的工具来解决这个captcha挑战。
发布于 2021-10-21 06:54:07
您可以使用这个python库- 2 2captcha python。您希望从映像captcha中提取文本,以便在安装和配置步骤之后使用以下代码。
要绕过普通的captcha (图像上的扭曲文本),请使用以下方法。此方法也可用于识别图像上的任何文本。
result = solver.normal('path/to/captcha.jpg', param1=..., ...)https://stackoverflow.com/questions/54931199
复制相似问题