验证码解决服务的通用接口
项目描述
Captcha Solution Python 包
Captcha Solution 包是一个简单的多个验证码解决服务的接口。
简单图像验证码
最简单的情况是将验证码图像存储到文件中。将文件句柄传递给 solve
方法。解决方案将存储在返回结果中的 "solution" 键中。在 "raw" 键中有一个完整的原始响应,这是验证码服务返回的。
from captcha_solution import CaptchaSolver
solver = CaptchaSolver('anticaptcha', api_key='YOUR-API-KEY')
with open('captcha.png', 'rb') as inp:
res = solver.solve(inp)
print(res['solution'])
自定义验证码
如果您想解决非图像类型的验证码(文本验证码,reCAPTCHA等),您必须使用相同的 solve
方法,但您需要传递参数字典。每个验证码服务都有自己的请求数据模式,因此您需要查阅文档以确定请求格式。
例如,使用 2captcha.com 解决 reCAPTCHA
文档https://2captcha.com/2captcha-api?form=3019071#solving_recaptchav2_new
所需的POST参数是:key,method,googlekey,pageurl。您不需要传递key(API密钥),它已经被解决器完成。代码如下
res = solver.solve({
"method": "userrecaptcha",
"googlekey": "VALUE-OF-SITE-KEY",
"pageurl": "URL-OF-PAGE-WHERE-RECAPTCHA-IS-DISPLAYED"
})
print('Solution: %s' % res['solution'])
print('Raw Response: %s' % res['raw'])
例如,使用 anti-captcha.com 解决 reCAPTCHA
文档https://anticaptcha.atlassian.net/wiki/spaces/API/pages/5079084/Captcha+Task+Types 我们需要使用 NoCaptchaTaskProxyless 类型的任务。此任务对象具有所需键:type,websiteURL,websiteKey 代码如下
res = solver.solve({
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteKEY": "VALUE-OF-SITE-KEY",
"websiteURL": "URL-OF-PAGE-WHERE-RECAPTCHA-IS-DISPLAYED",
}
})
print('Solution: %s' % res['solution']['gRecaptchaResponse'])
print('Raw Response: %s' % res['raw'])
支持的验证码服务
-
2captcha.com (又名 rucaptcha.com)
- 别名:
2captcha
和rucaptcha
- 文档 (英文): https://2captcha.com/2captcha-api
- 文档 (俄文): https://rucaptcha.com/api-rucaptcha
- 别名:
项目详情
关闭
captcha-solution-0.0.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5d02c0d160ede6d337eb99092a1064d07b718c7405475ff1b901a3754bcbb94e |
|
MD5 | c8b046722be66a3c3e14a0eb8af0b733 |
|
BLAKE2b-256 | d052e28b65095ef12d320643ee0fe142b9a263f673c5a4a3cb3fb193f212c860 |