使用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-10-29
Python 使用 Easyocr 进行图像识别
如果你有 NVIDIA GPU,可以额外安装 CUDA,提供更好的性能,没有 NVIDIA GPU,可以使用 CPU 计算。 easyocr 官方地址:https://github.com/jaidedai/easyocr 安装 pytorch1pip3 install torch torchvision torchaudio 安装 easyocr1pip3 install easyocr 精简输出默认情况下会输出:Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU. 可以通过添加参数 verbose=False 来去掉这个提示。 默认会输出坐标、字符等信息,如果只需要输出字符,可以增加参数 detail=0 获得精简的输出。 1234import easyocrreader = easyocr.Reader(['en'], gpu=False, verbose=False) #...
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 命令提示符, 123456REM 创建虚拟环境python -m venv venvREM 安装muggle_ocrcd muggle_ocr-mainpython setup.py install 报错处理error: numpy 2.2.1 is...
2025-10-29
Django RESTframework 自定义Response
比如我想给返回的 json 加上 code/ msg 等信息,可以通过修改 drf 的 response 来实现。 全局生效参考:https://www.cnblogs.com/henryhong/p/djangodrf-zi-ding-yi-shu-ju-fan-hui-ge-shi.html 默认情况12345678910111213141516171819{ "count": 2, "next": null, "previous": null, "results": [ { "id": 2, "url": "http://localhost:8000/api/category/2/", "title": "AAA", ...
2025-10-29
Django RestFramework 使用router生成路由
django 使用的是模块化结构,每个 app 都可以独立拆分,那么注册路由的时候也可以灵活一点, 使用 drf 框架提供的 router 来自动生成路由 应用级 urls.py 12345678910111213from django.urls import path, includefrom rest_framework import routersfrom app01 import viewsrouter = routers.DefaultRouter()router.register(r'groups', views.GroupViewSet)router.register(r'students', views.StudentViewSet)urlpatterns = [ path('/', include(router.urls)),] 这里 path 路径是/, 引用了 router, router 注册了两个路由, 分别是 groups 和 students, 生成的 api 路径就是...
2025-10-29
Django RestFramework 使用 JWT 认证
JWT 的优点优点:无状态,服务端不保存 token缺点:生成的 token 在有效期内一直有效,无论用户注销、修改密码。(可以通过存 redis,通过代码进行删除 redis 里的 token 解决。) 开始使用配置setting.py 里面设置默认值 12345678910REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', ),}JWT_AUTH = { 'JWT_EXPIRATION_DELTA': datetime.timedelta(days=7), # Token 过期时间为一周 'JWT_AUTH_HEADER_PREFIX': 'JWT', # Token的头为:JWT ...
2025-10-29
Flask之服务端持久化session
需求如下:开发一个 web 界面,用户经过 oauth 认证后,给用户生成一个随机密码显示出来,并将用户名和密码发送给 radiusserver 用来当作 WIFI 密码。因为希望密码不要随便就更换,那样员工出去再进来,手机就需要重新输入新密码才能连 WIFI,容易被人打。所以用 session 存储的方式,将密码保存一定时间。 什么是 sessionsession 基于 cookie 实现,保存在服务端的键值对(dict 类型),同时在浏览器中的 cookie 中也对应一相同的随机字符串,用来再次请求的时候验证Flask 中的 session 是加密的,所以需要配置 SECRET_KEY 开始使用导入模块1from flask import Flask, render_template, request, session 配置 SECRET_KEY1app.secret_key = os.getenv("SECRET_KEY", "not set key") 设置 session 类型可以存临时文件,还可以存...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:
