python使用ddddocr库识别滑动验证码简单示例代码

某公司摸鱼前端 2024-12-01 11:38:50编程技术
118

在现代网络应用中,滑动验证码已经成为一种常见的安全措施。然而,对于自动化测试或脚本登录等场景来说,手动完成滑动验证码是非常繁琐且不切实际的。幸运的是,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就是滑块的图片:

ddddocr,python ddddocr,ddddocr识别验证码

bg_origin就是原图(切记是没有缺口的):

ddddocr,python ddddocr,ddddocr识别验证码

识别结果示例: 

ddddocr,python ddddocr,ddddocr识别验证码

注意: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识别函数,我们可以轻松地获取滑块的位置并模拟滑动操作。这种方法不仅简单易行,而且具有较高的准确率。希望本文的介绍能够对您有所帮助。

ddddocr python
THE END
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐