vlambda博客
学习文章列表

干货丨RPA验证码识别技巧

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


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


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


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


大部分的打码平台调用方式类似,此次以“超级鹰”作为示例来学习如何用UiBot接入打码平台,进行验证码识别。


在超级鹰官网的开发文档中可以看到他们支持的接口语言,可以根据自己喜好的编程语言进行相应的二次开发。


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


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

构造函数

干货丨RPA验证码识别技巧


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验证码识别技巧


这样整个验证码识别过程就基本结束了。以上即中英字符类识别的过程。



干货丨RPA验证码识别技巧


END



https://store.uibot.com.cn/




干货丨RPA验证码识别技巧


点击“阅读原文”,了解更多