支持anticaptcha.com的solve captchas客户端库。
python-anticaptcha的Python项目详细描述
用Anticaptcha.com support解决captchas的客户端库。 这个库同时支持Python2.7和Python3。
库是周期性的自动测试,以确保运行正常。我们一直在尽最大努力使其有效运作。
如果集成有任何问题-read the documentation,create an issue,请使用Gitter或私下联系。
开始
作为标准python包安装,使用:
pip install python-anticaptcha
用法
要使用这个库,您需要Anticaptcha.comapi密钥。
解决recaptcha
recaptcha的示例片段:
frompython_anticaptchaimportAnticaptchaClient,NoCaptchaTaskProxylessTaskapi_key='174faff8fbc769e94a5862391ecfd010'site_key='6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-'# grab from siteurl='https://www.google.com/recaptcha/api2/demo'client=AnticaptchaClient(api_key)task=NoCaptchaTaskProxylessTask(url,site_key)job=client.createTask(task)job.join()printjob.get_solution_response()
完整集成示例在文件examples/recaptcha.py中提供。
如果为了提高可靠性而多次处理很少的页面,可以指定 验证码是否可见。此参数不是必需的,因为 系统自动检测不可见的sitekeys,并需要几个递归的 自动化培训和分析的措施。提供通行证 is_invisible参数到NoCaptchaTaskProxylessTask或NoCaptchaTask例如:
frompython_anticaptchaimportAnticaptchaClient,NoCaptchaTaskProxylessTaskapi_key='174faff8fbc769e94a5862391ecfd010'site_key='6Lc-0DYUAAAAAOPM3RGobCfKjIE5STmzvZfHbbNx'# grab from siteurl='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()printjob.get_solution_response()
解决文本验证码
文本验证码示例片段:
frompython_anticaptchaimportAnticaptchaClient,ImageToTextTaskapi_key='174faff8fbc769e94a5862391ecfd010'captcha_fp=open('examples/captcha_ms.jpeg','rb')client=AnticaptchaClient(api_key)task=ImageToTextTask(captcha_fp)job=client.createTask(task)job.join()printjob.get_captcha_text()
解funcaptcha
funcaptcha的示例片段:
frompython_anticaptchaimportAnticaptchaClient,FunCaptchaTask,ProxyUA='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 siteurl='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()printjob.get_token_response()
报告错误图像
报告错误图像任务的示例代码段:
frompython_anticaptchaimportAnticaptchaClient,ImageToTextTaskapi_key='174faff8fbc769e94a5862391ecfd010'captcha_fp=open('examples/captcha_ms.jpeg','rb')client=AnticaptchaClient(api_key)task=ImageToTextTask(captcha_fp)job=client.createTask(task)job.join()printjob.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的访问控制。所需的IP地址 Anticaptcha.com是:
69.65.41.21 209.212.146.168
错误处理
在应用程序出错的情况下,将引发anticaptchaexception异常。要处理异常,请执行以下操作:
frompython_anticaptchaimportAnticatpchaException,ImageToTextTasktry:# any actionsexceptAnticatpchaExceptionase:ife.error_code=='ERROR_ZERO_BALANCE':notify_about_no_funds(e.error_id,e.error_code,e.error_description)else:raise
版本控制
我们使用SemVer进行版本控制。有关可用的版本,请参见 tags on this repository。
许可证
这个项目是在麻省理工学院的许可下授权的-参见LICENSE.md 有关详细信息,请存档