1.注册开发者云打码账号:
注册账号
2.添加新软件
进入开发者后台->我的软件->输入软件名称(自定义)

提交成功后,会返回: 软件代码即为后面的**appId,**通讯密匙为:appKey

3.下载对应的语言使用说明文档,这里以python为例:云打码说明文档
点击下载解压就好了,解压完之后为:

4.到这里就可以干活了:打开编辑器,打开上图对应的python版本文件,这里使用python3
简单进行修改后,就可以使用云打码进行验证码识别了
第一回识别,会报1007,是因为没有充值,这个平带是收费的,但是我觉得挺划算的,充一块钱就能使用很多次
调用错误代码及排错
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| #必须要写的否则会报错 # -*- coding: cp936 -*-
import sys import os from ctypes import *
# 下载接口放目录 http://www.yundama.com/apidoc/YDM_SDK.html # 错误代码请查询 http://www.yundama.com/apidoc/YDM_ErrorCode.html # 所有函数请查询 http://www.yundama.com/apidoc
print('>>>正在初始化...')
# 云打码API即为解压文件夹中的脚本文件,对应自己的系统版本,X64为64位,默认使用32位的 YDMApi = windll.LoadLibrary('yundamaAPI')
appId = 1 # 软件ID appKey = b'22cc5376925e9387a23cf797cb9ba745' # 软件密钥
print('软件ID:%d\r\n软件密钥:%s' % (appId, appKey))
username = b'test' password = b'test'
if username == b'test': exit('\r\n>>>请先设置用户名密码')
# 有两种方法可以识别验证码,以下两种办法使用其一即可
#方法一. 一键识别函数
print('\r\n>>>正在一键识别...')
# 例:1004表示4位字母数字,不同类型收费不同。请准确填写,否则影响识别率。在此查询所有类型 http://www.yundama.com/price.html codetype = 1004
# 分配30个字节存放识别结果 result = c_char_p(b" ")
# 识别超时时间 单位:秒 timeout = 60
# 验证码文件路径 filename = b'getimage.jpg'
# 一键识别函数,无需调用 YDM_SetAppInfo 和 YDM_Login,适合脚本调用 captchaId = YDMApi.YDM_EasyDecodeByPath(username, password, appId, appKey, filename, codetype, timeout, result)
print("一键识别:验证码ID:%d,识别结果:%s" % (captchaId, result.value))
#方法二.普通识别函数
print('\r\n>>>正在登陆...')
# 第一步:初始化云打码,只需调用一次即可 YDMApi.YDM_SetAppInfo(appId, appKey)
# 第二步:登陆云打码账号,只需调用一次即可 uid = YDMApi.YDM_Login(username, password)
if uid > 0:
print('>>>正在获取余额...')
# 查询账号余额,按需要调用 balance = YDMApi.YDM_GetBalance(username, password)
print('登陆成功,用户名:%s,剩余题分:%d' % (username, balance))
print('\r\n>>>正在普通识别...')
# 第三步:开始识别
# 例:1004表示4位字母数字,不同类型收费不同。请准确填写,否则影响识别率。在此查询所有类型 http://www.yundama.com/price.html codetype = 1004
# 分配30个字节存放识别结果 result = c_char_p(b" ")
# 验证码文件路径 filename = b'getimage.jpg'
# 普通识别函数,需先调用 YDM_SetAppInfo 和 YDM_Login 初始化 captchaId = YDMApi.YDM_DecodeByPath(filename, codetype, result)
print("普通识别:验证码ID:%d,识别结果:%s" % (captchaId, result.value)) #返回bytes格式字符串 , 转为utf-8编码,方便带入程序直接使用 utf_res = result.value.decode('utf-8')
else: print('登陆失败,错误代码:%d' % uid)
print('\r\n>>>错误代码请查询 http://www.yundama.com/apidoc/YDM_ErrorCode.html')
|
云打码的识别效果还不错,也不贵,建议大家使用
如有问题,欢迎交流