1.影刀官方验证码识别
1.1 介绍
功能:基于AI引擎提供的验证码识别服务,使用影刀内置的AI引擎来识别验证码,使用第三图鉴账号来识别验证码,选填写用户名及密码,
可识别的验证码类型:
-
纯数字:适用于纯数字类型的图片验证码
-
纯数字2:与"纯数字"适用场景相似,但识别算法不同,可两者比较使用
-
纯英文:适用于纯英文类型的图片验证码
-
纯英文2:与"纯英文"适用场景相似,但识别算法不同,可两者比较使用
-
数英混合:适用于数英混合类型的图片验证码
-
数英混合2:与"数英混合"适用场景相似,但识别算法不同,可两者比较使用
-
闪动GIF:用于识别Gif类型动态验证码
-
计算题:用于识别并得出计算题类型验证码的结果
-
快速计算题:用于快速识别并得出计算题类型验证码的结果
-
通用文字识别(证件、单据):使用与大部分文字识别场景的验证码图片
-
问答题:用于识别并得出问答题类型验证码的结果
-
图片旋转:用于识别并得出需拖动滑块旋转图片类型验证码的待旋转角度(顺时针/逆时针)
-
点选1个坐标:用于识别并得出点击图片位置类型验证码的待点击位置
-
点选3个坐标:同"点选1个坐标",适用于点击3个位置
-
点选1~4个坐标:同"点选1个坐标",适用于点击1~4个位置
-
点选3~5个坐标:同"点选1个坐标",适用于点击3~5个位置
-
点选5~8个坐标:同"点选1个坐标",适用于点击5~8个位置
-
缺口识别:用于识别并得出拖动滑块拼接图片类型验证码的待拖动横向距离
-
单缺口滑块(返回X轴坐标):与"缺口识别"适用场景类型,但缺口类型不同,可两者比较使用
-
图片拼图:用于识别并得出交换图片拼图类型验证码的待交换的两张图片的排序位置
图片来源:
- 屏幕指定位置:截取屏幕指定坐标位置,也可以输入
- 网页元素:在网页上捕获指定区域元素
- win元素:在win软件上捕获指定区域元素
- 剪贴板:设置剪贴板内容实现
- 本地文件:输入本地图片文件路径
保存验证码识别结果:保存获取到的验证码识别结果为变量,数据类型视验证码类型而定
该功能限内置了常见的验证码识别机制,大大的节省了我们的时间,但是缺点是不是一直免费,试用结束后需要充值。如果财力充足,使用他来解决验证码问题是一个好的选择。
1.2 代码
演示:
2.与python结合识别验证码
2.1 ddddocr
ddddocr
是一个基于深度学习的光学字符识别(OCR)库,它专门用于识别验证码中的双重数字(两位数字)。这个库利用了卷积神经网络(CNN)和循环神经网络(RNN)来实现高效准确的识别。ddddocr
是一个开源项目,允许用户免费使用、修改和分发代码。
在python中使用
# 安装
pip install ddddocr
#使用
import ddddocr
ocr = ddddocr.DdddOcr(show_ad=False) # show_ad=False关闭广告
with open("./img/captcha.jpg", "rb") as f:
im = f.read()
yzm = ocr.classification(im)
print(yzm)
2.2 影刀使用ddddocr
接下来我们介绍在影刀中使用ddddocr识别验证码
安装ddddocr
对于没有特定说明的类库我们一般直接点击安装就行,如果需要与python版本匹配,或是下载缓慢你就需要依据需求进行配置了
新建python模块
新建完成后,影刀为我们初始化了一些代码。接下来我们开始写验证码识别代码
新建一个函数,复制进去
def ocrcode(imgpath):
ocr = ddddocr.DdddOcr()
with open(imgpath, 'rb') as f:
image_bytes = f.read()
res = ocr.classification(image_bytes)
return res
影刀测试代码:
影刀调用python模块配置
选择Python模块:下拉选择待执行的Python模块,就是我们编写验证码识别生成的模块
选择函数:下拉选择待执行的函数,就是我们编写验证码识别函数
输入参数:输入或选择函数的输入参数,可为空,就是我们获取验证码网页截图保存的图片地址
返回值类型:下拉选择函数的返回值类型
返回值存储至:保存模块调用后的返回值为变量
演示:
这个类库识别验证码的成功率并不是百分之百,简单的图片验证码是没有问题的,但是加入复制的背景,以及干扰线,就会在识别上增加难度,需要我们做一些图像预处理。
我们编写一个识别验证码的登录子流程,循环识别,登录,直到登录成功为止。
3.其他验证码识别
官方同时内置了其他第三方验证码识别的指令。这些功能有的需要付费,有的是有免费试用额度。大家可以尝试去使用,能免费我们绝不花钱。先把试用的用完了再说。
4.最后
感谢大家,请大家多多支持!