在使用爬虫登录网站的时候,经常输入用户名和密码后会遇到验证码,简单一点的有字母验证码,复杂一点的有滑块验证码,点选文章和点选图片验证码。这些都是爬虫中的老大难问题,今天介绍一款通用验证码识别 SDK 对他们彻底说拜拜,它的名字是 ddddocr 带带弟弟 OCR 通用验证码识别 SDK 免费开源版。
安装
将自动安装符合自己电脑环境的最新 ddddocr。Python 环境需要小于等于 3.9。
pipinstallddddocr
使用
带带弟弟 OCR 可以识别三种验证码,小编就用这三种来实验一下。
滑块验证码
滑块验证码这里用的是豆瓣的滑块验证。下滑块是单独的透明背景图 hycdn.png。
背景图是带小滑块坑位的 background.jpg。
importddddocr
det=ddddocr.DdddOcr(det=False,ocr=False)
withopen('hycdn.png','rb')asf:
target_bytes=f.read()
withopen('background.jpg','rb')asf:
background_bytes=f.read()
res=det.slide_match(target_bytes,background_bytes,simple_target=True)
print(res)
识别结果
{'target_y':0,'target':[486,126,622,262]}
target 属性的前两个值正好和豆瓣验证滑块 url 中提交的 ans 差不多。
点选类验证码
点选类验证码用的是网易登录
det=ddddocr.DdddOcr(det=True)
withopen("eb.jpg",'rb')asf:
image=f.read()
poses=det.detection(image)
im=cv2.imread("eb.jpg")
forboxinposes:
x1,y1,x2,y2=box
im=cv2.rectangle(im,(x1,y1),(x2,y2),color=(0,0,255),thickness=2)
cv2.imwrite("result.jpg",im)
字母数字验证码
字母数字验证码的图片来自于 google 搜索
ocr=ddddocr.DdddOcr(old=True)
withopen("z1.jpg",'rb')asf:
image=f.read()
res=ocr.classification(image)
print(res)
识别结果
3n3d
8342
总结
ddddocr 让验证码变得如此简单与易用,,让不会用 opencv, pytorch, tensorflow 的小伙伴也能快速的破解网站的登录验证码。小伙伴们如果有其他好的 ocr 识别也可以在留言中分享出来。
审核编辑:汤梓红
-
开源
+关注
关注
3文章
3806浏览量
44219 -
python
+关注
关注
56文章
4838浏览量
87936 -
OCR
+关注
关注
0文章
164浏览量
16865
发布评论请先 登录
手持式身份证识别阅读器:移动的身份识别智能终端

自动化测试如何绕过Cloudflare验证码?Python + Selenium 脚本实战指南!

星空开源MES(万界星空科技)——专业、通用、开源、免费的MES系统
如何利用OCR技术实现高效集装箱箱号识别?

端侧OCR文字识别实现 -- Core Vision Kit ##HarmonyOS SDK AI##
OCR识别训练完成后给的是空压缩包,为什么?
基于STM32的二维码识别源码+二维码解码库lib
HarmonyOS5云服务技术分享--登录邮件功能整理
HarmonyOS5云服务技术分享--手机号登录教程

阿普奇视觉控制器AK7在OCR识别场景中的应用

ElfBoard开源项目|车牌识别项目技术文档

明治案例 | 【OCR识别+条码读取】一步到位,印刷品质的智能守护者

评论