我们首先识别最简单的一种验证码, 图形验证码。 这种验证码最早出现,现在也很常见, 一般 由 4 位字母或者数字组成。 例如,中国知网的注册页面有类似的验证码,链接为 http://my.cnki.neν elibregister/commonRegister.aspx 。
图形验证码的识别
表单的最后一项就是图形验证码,我们必须完全正确输入图中的字符才可以完成注册。
1 . 本节目标 以知网的验证码为例,讲解利用 OCR技术识别图形验证码的方法。
2. 准备工作 识别图形验证码需要库 tesserocr。 安装此库可以参考第 l 章的安装说明。 3. 获取验证码 为了便于实验,我们先将验证码的图片保存到本地。 打开开发者士具,找到验证码元素。 验证码元素是一张图片,它的 src 属性是 CheckCode.aspx。 我们直接打开这个链接 h即://my.cnki.net/elibregister/CheckCode.aspx,就可以看到一个验证码,有键保 存即可, 将其命名为 code.jpg,如图 8-2 所示。
图 8-2 验证码
这样我们就可以得到一张验证码图片,以供测试识别使用。
4. 识别测试 接下来新建一个项目,将验证码图片放到项目根目录下,用 tesserocr库识别该验证码,代码如下 所示:
import tesserocr from PIL import Image
image = Image.open(’code.jpg’) result = tesserocr. image to_ text(image) print(result) 在这里我们新建了一个 Image 对象,调用了 tesserocr 的 image_to_ text()方法。 传入该 Image 对象
图形验证码的识别
最新推荐文章于 2024-03-15 09:39:03 发布