Anticaptcha.com支持的解决验证码的客户端库。
项目描述
支持Anticaptcha.com的解决验证码的客户端库。该库支持Python 2.7和Python 3。
库将周期性地自动测试以确保其正常运行。我们一直在努力使其有效运行。
如果集成出现任何问题 - 阅读文档,创建问题,使用Gitter或私下联系。
入门指南
使用以下命令安装为标准Python包:
pip install python-anticaptcha
使用方法
要使用此库,您需要Anticaptcha.com API密钥。
解决reCAPTCHA
reCAPTCHA示例代码片段
from python_anticaptcha import AnticaptchaClient, NoCaptchaTaskProxylessTask
api_key = '174faff8fbc769e94a5862391ecfd010'
site_key = '6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-' # grab from site
url = 'https://www.google.com/recaptcha/api2/demo'
client = AnticaptchaClient(api_key)
task = NoCaptchaTaskProxylessTask(url, site_key)
job = client.createTask(task)
job.join()
print job.get_solution_response()
完整的集成示例在文件examples/recaptcha.py中提供。
如果您需要多次处理少量页面以增加可靠性,可以指定验证码是否可见。此参数不是必需的,因为系统会自动检测不可见的sitekeys,并需要一些递归措施进行自动化培训和数据分析。为此,将is_invisible参数传递给NoCaptchaTaskProxylessTask或NoCaptchaTask等,例如。
from python_anticaptcha import AnticaptchaClient, NoCaptchaTaskProxylessTask
api_key = '174faff8fbc769e94a5862391ecfd010'
site_key = '6Lc-0DYUAAAAAOPM3RGobCfKjIE5STmzvZfHbbNx' # grab from site
url = 'https://losangeles.craigslist.org/lac/kid/d/housekeeper-sitting-pet-care/6720136191.html'
client = AnticaptchaClient(api_key)
task = NoCaptchaTaskProxylessTask(url, site_key, is_invisible=True)
job = client.createTask(task)
job.join()
print job.get_solution_response()
解决文本验证码
文本验证码示例代码片段
from python_anticaptcha import AnticaptchaClient, ImageToTextTask
api_key = '174faff8fbc769e94a5862391ecfd010'
captcha_fp = open('examples/captcha_ms.jpeg', 'rb')
client = AnticaptchaClient(api_key)
task = ImageToTextTask(captcha_fp)
job = client.createTask(task)
job.join()
print job.get_captcha_text()
解决Funcaptcha
Funcaptcha示例代码片段
from python_anticaptcha import AnticaptchaClient, FunCaptchaTask, Proxy
UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 ' \
'(KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
api_key = '174faff8fbc769e94a5862391ecfd010'
site_key = 'DE0B0BB7-1EE4-4D70-1853-31B835D4506B' # grab from site
url = 'https://www.google.com/recaptcha/api2/demo'
proxy = Proxy.parse_url("socks5://login:password@123.123.123.123")
client = AnticaptchaClient(api_key)
task = FunCaptchaTask(url, site_key, proxy=proxy, user_agent=user_agent)
job = client.createTask(task)
job.join()
print job.get_token_response()
报告错误的图片
报告错误图片任务的示例代码片段
from python_anticaptcha import AnticaptchaClient, ImageToTextTask
api_key = '174faff8fbc769e94a5862391ecfd010'
captcha_fp = open('examples/captcha_ms.jpeg', 'rb')
client = AnticaptchaClient(api_key)
task = ImageToTextTask(captcha_fp)
job = client.createTask(task)
job.join()
print job.get_captcha_text()
job.report_incorrect()
设置代理
库不负责管理代理服务器。然而,我们指出可以通过以下方式简单地启动这样的服务器:
pip install mitmproxy
mitmweb -p 9190 -b 0.0.0.0 --ignore '.' --socks
在您的应用程序旁边使用类似的东西
proxy = Proxy.parse_url("socks5://123.123.123.123:9190")
我们建议为代理的入站地址输入基于IP的访问控制。由Anticaptcha.com需要的IP地址是
69.65.41.21
209.212.146.168
错误处理
在应用程序出错的情况下,会抛出AnticaptchaException异常。要处理异常,请执行以下操作:
from python_anticaptcha import AnticatpchaException, ImageToTextTask
try:
# any actions
except AnticatpchaException as e:
if e.error_code == 'ERROR_ZERO_BALANCE':
notify_about_no_funds(e.error_id, e.error_code, e.error_description)
else:
raise
版本控制
许可协议
本项目采用MIT许可协议 - 有关详细信息,请参阅LICENSE.md文件
项目详情
关闭
哈希值 for python_anticaptcha-1.0.0-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 12e47cc1f27a0ab2080975a9c8b2554219570dad1d8feb0b9911078b17767f27 |
|
MD5 | 569da9aff92f3411893047ed3aaa4ffe |
|
BLAKE2b-256 | 09405489582e7aff47ca9e6d7f664b55a7e5e9cbf2a0958366b5ef4eab098a26 |