vlambda博客
学习文章列表

干货丨使用RPA进行验证码识别

验证码

验证码,是RPA流程自动化中经常碰到的问题。比如进行网页或者客户端登录的时候,或者提交数据查验都有可能碰到验证码。


而验证码的类型也是各式各样(纯数字、英文数字、英数汉等),且一般验证码上面都有干扰因素存在(干扰线、噪点、偏移等)。

通常OCR的识别效率并不是很理想,甚至真人用眼看的时候偶尔都会识别不出来(比如发票验真里面的验证码,中英汉连带颜色),因此对于复杂的验证码一般都会调用打码平台去进行验证,物美价廉效率高。


打码的原理很简单,首先把带有验证码的图片保存下来,然后发送给打码平台,平台那边会有真人去识别发送过去的图片,然后将结果返回回来。这也是所谓的众包,即真正的“人工”智能(好吧 ,开个玩笑)。


大部分的打码平台调用方式类似,此次以“超级鹰”作为示例来学习如何用UiBot接入打码平台,进行验证码识别。在超级鹰官网的开发文档中可以看到他们支持的接口语言,可以根据自己喜好的编程语言进行相应的二次开发。


下面以Python为例,打开里面的 chaojiying.py 文件,可以看到里面实现了Chaojiying_Client 类,该类有三个函数:


1、init __(self, username, password, soft_id )

构造函数


2、PostPic (self, im , codetype )

发送验证码图片且返回验证码内容

干货丨使用RPA进行验证码识别


3、ReportError (self, im_id )

如果验证失败可发送错误,返还费用

干货丨使用RPA进行验证码识别


现在将以上代码封装成两个函数,方便在 UiBot 中使用。


def getInfo(User,PassWord,picPath,requestType)

def sendError(user2,Password2,pic_id)


其中requestType 是验证码类型,不同的验证码需要选择不同的验证参数。


代码实例:

1、导入模块插件,插件需要放入扩展包里面

(路径:D:\*\UiBotCreator\extend)


2、在源代码视图里面 Import vCodeV

干货丨使用RPA进行验证码识别


3、对验证码进行截图,并把截图保存在一个路径里面

干货丨使用RPA进行验证码识别


4、在源代码里面输入插件所需要的参数(1902:中英文数字)

干货丨使用RPA进行验证码识别


5、输出验证码识别的字符

干货丨使用RPA进行验证码识别


这样整个验证码识别过程就基本结束了。

今天主要介绍了中英字符类识别的过程,下一次将为大家分享滑动类的验证码技术解决方案。


END

UiBot

RPA专家

人机搭配,效率翻倍


领取UiBot验证码识别机器人!