带带弟弟ocr,对各种类型验证码说不!
文 | 某某白米饭
来源:Python 技术「ID: pythonall」
安装
将自动安装符合自己电脑环境的最新 ddddocr。Python 环境需要小于等于 3.9。
pip install ddddocr
使用
带带弟弟 OCR 可以识别三种验证码,小编就用这三种来实验一下。
滑块验证码
滑块验证码这里用的是豆瓣的滑块验证。下滑块是单独的透明背景图 hycdn.png。
背景图是带小滑块坑位的 background.jpg。
import ddddocrdet = ddddocr.DdddOcr(det=False, ocr=False)with open('hycdn.png', 'rb') as f:target_bytes = f.read()with open('background.jpg', 'rb') as f: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)with open("eb.jpg", 'rb') as f:image = f.read()poses = det.detection(image)im = cv2.imread("eb.jpg")for box in poses:x1, y1, x2, y2 = boxim = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)cv2.imwrite("result.jpg", im)
识别结果
字母数字验证码
字母数字验证码的图片来自于 google 搜索
ocr = ddddocr.DdddOcr(old=True)with open("z1.jpg", 'rb') as f:image = f.read()res = ocr.classification(image)
print(res)
识别结果
3n3d
8342
总结
ddddocr 让验证码变得如此简单与易用,,让不会用 opencv, pytorch, tensorflow 的小伙伴也能快速的破解网站的登录验证码。小伙伴们如果有其他好的 ocr 识别也可以在留言中分享出来。
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!
【代码获取方式】
识别文末二维码,回复:某某白米饭
带带弟弟ocr,对各种类型验证码说不!相关推荐
- dddd带带弟弟OCR识别验证码
在 github 上找到一个开源库,而且还很强大.这个库叫 ddddocr , GitHub - sml2h3/ddddocr: 带带弟弟 通用验证码识别OCR pypi版 ddddorc 安装使用 ...
- 使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件
使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件 适用场景:下载文件的完整性校验等. cmd调出命令行,输入如下命令 certutil -hashfile <文件名& ...
- 通过labview vision视觉模块写的带学习功能的OCR字符识别程序
labview vision视觉模块写的带学习功能的OCR字符识别程序 为解决在用Labview做OCR字符识别视觉开发中每次都要用开发工具自带的学习模块,自己用VDM函数自己写了个子程序,方便嵌入带 ...
- 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss...
/*** 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较* @param higDate 减数* @param lowDate 被减数* @returns 差值天数 格式不正 ...
- 《老司机,带带我》之考驾照
本文地址:http://www.cnblogs.com/aiweixiao/p/7525915.html 原文地址(微信公众号) 一.引子 确实需要老司机带带我了,快而立了还没有考驾照,是不是有点lo ...
- ⚡爬虫高级篇⚡五行代码识别验证码—— ddddocr(带带弟弟OCR)
验证码识别
- JAVA使用barcode4j生成条形码和二维码图片以及带logo的二维码,验证码图片
二维码 1.Maven引入barcode4j依赖 <!-- 条形码生成 --><dependency><groupId>net.sf.barcode4j</g ...
- 生成带大写英文字母和数字的验证码(手机或邮箱)
最近由于编写项目的注册功能,需要一个能够生成带大写英文字母的验证码工具类,就写了一个 public class RandomUtil {//生成size长度的验证码,hasLetter决定是否带大写英 ...
- 15岁姐姐单独带大弟弟妹妹 母亲身杀父亲过世
云阳龙洞乡高建村3组15岁的卢胜珍家,她和12岁妹妹卢小碧.10岁弟弟卢小令坐在一起. 重庆晨报记者李斌摄 "我做梦都想我们3个人每天生活在一起.两地分居,没把妹妹和弟弟照顾好,这是我的错, ...
最新文章
- ASP.NET2.0 - skmMenu 的使用
- 《深入理解Android》一2.1 浏览器工作原理概述
- IDEA导入MySQL的jdbc驱动出现“java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver”
- MS Code 使用 TFVC 插件时遇到的问题
- flume channel monitor实现源码分析
- Python io – BytesIO,StringIO
- HSRP+生成树+vlan间路由!
- mac怎么给python下载库_关于macos:在Python中安装库
- 张鹏程:7月24日阿里云上海峰会弹性计算大神
- android图片添加多行文字,Android使用SpannableString实现多行文字开头放置标签图案...
- Psychological Bulletin:社会认知的层次模型
- 数值分析(9):数值积分之Newton-Cotes求积公式和复合求积公式
- 路由器交换机之重设密码
- 从根上理解高性能、高并发(七):深入操作系统,一文读懂进程、线程、协程
- TM4C KEIL模板建立
- C#字符串转二进制、二进制转字符串
- 洛谷 P1610 鸿山洞的灯
- 关于AOP的实现原理
- 魔众文库系统 v2.1.0 页面SEO优化,系统升级调整
- 4点技巧教你如何正确管理多个微信群