程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

简单识别验证码,无复杂步骤,不依赖第三方模块

balukai 2025-03-23 17:10:32 文章精选 7 ℃

今天看到 TOTOBEFREE 写的一篇 Python + aardio 开发的文章,文中提到他一通折腾安装 Tesseract-OCR 库、语言包、搭建环境,但准确率太低( 这应该说的是 Python 的模块,aardio 里 tesseract 库不用安装搭建环境 )。

这里我介绍一个更简单的方法,可以 100% 完美正确地识别这类验证码。而且不需安装任何第三方 OCR 库,不需要语言包,不需要搭建环境,没有任何复杂步骤。

我们用 aardio 自带的 soImage 就足够了,小、简单、省事,几句代码就可以解决问题。

为了把简单的事情变得更简单,我在 aardio 范例里添加了一个工具。

文件位置:

aardio 范例 / 自动化 / 找图找色找字 / 简单 OCR 生成器

打开该工具,界面如下:

1、输入验证码网址。

2、然后点『获取下一个图像』。

3、输入验证码上显示的数字,然后继续点『获取下一个图像』。

反复多次,下面就会自动生成验证码字库,以及验证码识别代码。

生成的代码可以直接使用,例如:

import inet.http;
import soImage;

var dict = {
    ["1"]="11111111111111111111111111";
    ["2"]="111111110000001100000011000000110000001100000011111111111";
    ["4"]="1000001010000010100000101000001010"  
}

var img = soImage();
img.loadUrl("https://www.b*****.***/****.php");
var text = img.ocr(dict); 

没有任何其他复杂步骤。

这个 ocr 函数的关键代码其实就几句 aardio 代码,可右键跳转到定义直接看源代码。

最近发表
标签列表