使用Python识别验证码 ddddocr
发表于|更新于|开发
GitHub 地址:https://github.com/sml2h3/ddddocr
安装
1 | pip install ddddocr |
如果 windows 安装报错:ImportError:DLL load failed: 找不到指定的模块。
需要安装 vc 运行库:
https://aka.ms/vs/16/release/VC_redist.x86.exe
https://aka.ms/vs/16/release/VC_redist.x64.exe
基本使用:
1 | import ddddocr |
初始化传参 show_ad=False 输出就不带作者的广告了。
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2025-02-22
使用Python识别验证码 Muggle OCR
最近发现个 ddddocr,识别率很高,识别速度还很快:使用Python识别验证码 ddddocr 以前用过什么 pytesseract 识别效果很差,还需要电脑上安装 Tesseract OCR 的软件,但是使用下来,效果不好,后面也用过 PaddleOCR 可以识别,但是识别速度比较慢,成功率也不高。后面又看到了这个开源工具,吹牛逼比较厉害,号称自己是验证码识别的最高境界,就试试看。官方的 GitHub 地址是:https://github.com/litongjava/muggle_ocr 效果展示 环境OS: Windows 11Python: python-3.10.10-amd64 安装这个开源程序在 pypi 仓库上被移除了,需要在 GitHub 上将源码包下载下来安装。 下载到本地,解压后,打开 cmd 命令提示符, 报错处理error: numpy 2.2.1 is installed but numpy<2.1.0,>=1.26.0 is required by {'tensorflow-intel'}...
2026-07-14
Python 使用 Easyocr 进行图像识别
如果你有 NVIDIA GPU,可以额外安装 CUDA,提供更好的性能,没有 NVIDIA GPU,可以使用 CPU 计算。 easyocr 官方地址:https://github.com/jaidedai/easyocr 安装 pytorch 安装 easyocr 精简输出默认情况下会输出:Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU. 可以通过添加参数 verbose=False 来去掉这个提示。 默认会输出坐标、字符等信息,如果只需要输出字符,可以增加参数 detail=0 获得精简的输出。 第一次运行会下载模型,模型默认存储位置在:%userprofile%\.EasyOCR\model 常见报错fbgemm.dll 加载失败 在 widnows 环境下,需要安装 Microsoft Visual C++ Redistributable https://learn.microsoft.com/en-US/cpp...
2026-07-14
使用Python解析xml
xml 是一种固有的分层数据格式,最自然的表示方式是解析成树状。 ElementTree 将整个 xml 文档解析成树状结构, Element 就表示这个树状结构中的单节点。整个 xml 文档与 Python 交互(读取和写入文件)是在 ElementTree(相当于整棵树)上完成。单个 xml 元素及其子元素的交互是在 Element(相当于 leaf)上完成。 XML 语法文档声明从 XML 1.1 开始,在一个完整的 XML 文档中,必须包含一个 XML 文档的声明,并且该声明必须位于文档的第一行。XML 文档声明的语法格式如下所示: version:用于指定遵循 XML 规范的版本号。在 XML 声明中必须包含 version 属性,且该属性必须放在 XML 声明中其他属性之前。 encoding:用来指定 XML 文档所使用的编码集。 standalone:用来指定该 XML 文档是否和一个外部文档嵌套使用,取值为 yes 或 no。如果设置属性值为 yes,说明是一个独立的 XML 文档,与外部文件无关联;如果设置属性值为 no,说明 XML 文档不独立。 元...
2026-07-14
Django RestFramework 使用 JWT 认证
JWT 的优点优点:无状态,服务端不保存 token缺点:生成的 token 在有效期内一直有效,无论用户注销、修改密码。(可以通过存 redis,通过代码进行删除 redis 里的 token 解决。) 开始使用配置setting.py 里面设置默认值 这里的 DEFAULT_AUTHENTICATION_CLASSES 是默认设置,也可以给类视图自定义views.py authentication_classes = [JSONWebTokenAuthentication] urls.py 里面配置生成 token 的路由 使用先访问 api-token-auth 接口,这个接口只能通过 POST 访问,带上用户名和密码,认证成功后会生成一个 token 类似于: 拿着这个 token 去请求接口: 我们前缀设置的是 JWT, 所以在请求时在 Header 里带上 JWT 即可 修改默认返回值默认的返回值仅有 token,通过修改该视图的返回值可以完成我们的需求。在应用中新建一个 utils.py 文件: 在 settings.py 里面...
2026-07-14
Flask之服务端持久化session
需求如下:开发一个 web 界面,用户经过 oauth 认证后,给用户生成一个随机密码显示出来,并将用户名和密码发送给 radiusserver 用来当作 WIFI 密码。因为希望密码不要随便就更换,那样员工出去再进来,手机就需要重新输入新密码才能连 WIFI,容易被人打。所以用 session 存储的方式,将密码保存一定时间。 什么是 sessionsession 基于 cookie 实现,保存在服务端的键值对(dict 类型),同时在浏览器中的 cookie 中也对应一相同的随机字符串,用来再次请求的时候验证Flask 中的 session 是加密的,所以需要配置 SECRET_KEY 开始使用导入模块 配置 SECRET_KEY 设置 session 类型可以存临时文件,还可以存 redis、memcached、mongodb 等 app.config[‘SESSION_TYPE’] = ‘filesystem’ 设置 session 过期时间,默认是浏览器关闭就过期app.config[‘PERMANENT_SESSION_LIFETIME’] =...
2025-03-24
Python读写文件
使用 Python 读写文件很方便,有多种方法,但是读写大文件还是需要优化的。 python open 文件的模式: 模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ...
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加博主微信,进微信运维技术交流群:

