在现代网络应用中,滑动验证码已经成为一种常见的安全措施。然而,对于自动化测试或脚本登录等场景来说,手动完成滑动验证码是非常繁琐且不切实际的。幸运的是,Python中的ddddocr库为我们提供了一种简单而有效的方法来自动识别滑动验证码。本文将介绍如何使用ddddocr库来实现这一功能。
示例代码:
import ddddocr det = ddddocr.DdddOcr(det=False,ocr=True,show_ad=False) with open('target.png','rb') as f: target_bytes = f.read() with open(bg_origin,'rb') as f: background_bytes = f.read() res = det.slide_match(target_bytes,background_bytes,simple_target=True) value = res['target'][0]
target.png就是滑块的图片:
bg_origin就是原图(切记是没有缺口的):
识别结果示例:
注意:ddddocr库比较大,一些托管网站对于 serveless Function 的大小有做限制!!!!
附:文字图片验证码识别
ddddocr的数字英文识别准确率大概有个百分之九十,我用了挺久的,目前还没有遇到ddddocr识别准确率很低的数字英文验证码。
import ddddocr # 识别验证码 def identifying_code(path): # show_ad广告 ocr = ddddocr.DdddOcr(show_ad=False) with open(path, 'rb') as f: img_bytes = f.read() res = ocr.classification(img_bytes) print(res) return res if __name__ == '__main__': result = identifying_code(r"C:\Users\Desktop\identifyingCode.jfif")
path放的是验证码图片的路径,会返回一个字符串,不过为了准确率,建议这边最好加一些判断,比如你的网站验证码是五个字符组成,如12ABC这样,就判断下字符串长度是否是5,如果不是直接刷新重新识别。
总结
本文详细介绍了如何使用Python中的ddddocr库来识别滑动验证码。通过加载验证码图片并调用ocr识别函数,我们可以轻松地获取滑块的位置并模拟滑动操作。这种方法不仅简单易行,而且具有较高的准确率。希望本文的介绍能够对您有所帮助。
本文来源于#某公司摸鱼前端,由@蜜芽 整理发布。如若内容造成侵权/违法违规/事实不符,请联系本站客服处理!
该文章观点仅代表作者本人,不代表本站立场。本站不承担相关法律责任。
如若转载,请注明出处:https://www.zhanid.com/biancheng/2460.html
THE END