Tesseract(识别验证码)

【Tesseract】windows 下的安装及简单应用

1、Tesseract安装以及简介

       阻碍我们爬虫的。有时候正是在登录或者请求一些数据时候的图形验证码。因此这里我们讲解一种能将图片翻译成文字的技术。将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition),简写为OCR。实现OCR的库不是很多,特别是开源的。因为这块存在一定的技术壁垒(需要大量的数据、算法、机器学习、深度学习知识等),并且如果做好了具有很高的商业价值。因此开源的比较少。这里介绍一个比较优秀的图像识别开源库:Tesseract。

       Tesseract是一个将图像翻译成文字的OCR(光学文字识别,Optical Character Recognition),最初由 HP 公司开发,目前由谷歌赞助。Tesseract是目前公认最优秀、最准确的开源OCR库。Tesseract具有很高的识别度,也具有很高的灵活性,他可以通过训练识别任何字体

Windows系统安装 在以下链接下载可执行文件,

https://github.com/tesseract-ocr/

点击下载地址

Tesseract(识别验证码)_第1张图片

其中文件名中带有 dev 的为开发版本,不带 dev 的为稳定版本。安装时可以添加支持的语言包,如下界面最后一个选项点开选择,我们可以选择简体中文 Chiness(Simplified)。

Tesseract(识别验证码)_第2张图片

安装完成后还需要将安装路径添加至环境变量。

我安装到了这里:

Tesseract(识别验证码)_第3张图片

 配置环境变量:

Tesseract(识别验证码)_第4张图片

打开 cmd,输入命令 tesseract -v,看到输出版本信息即代表安装成功。

Tesseract(识别验证码)_第5张图片

识别命令:tesseract 图片路径 结果文件名 -l 语言

1、将 cmd 切换到图片所在路径,则可以只输入图片名,否则需要全路径

2、结果文件名不可以加后缀,必定会自动加 .txt 后缀,如果结果文件名写 a.txt,则最后输出的文件名为 a.txt.txt。

3、-l 是英文字母L,不是数字1,language的意思。

4、语言英文为 eng,简体中文为 chi_sim

5、 需要识别其他语言时 下载语言包 放在tessdata目录下

案例:

Tesseract(识别验证码)_第6张图片

常见报错

1、我 tesseract 是安装在 C 盘的,在 C 盘运行命令识别没问题,但在 D 盘打开 cmd 运行命令就报错了:Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your “tessdata” directory

说明:

意思就是要将 tessdata 的父文件夹路径设置为名为 TESSDATA_PREFIX 的环境变量值。设置完成之后需要重启电脑,否则依然报错。

2、使用pytesseract识别验证码中遇到tesseract is not installed or it's not in your path解决方案

在安装完成tesseract后,记住安装的目录,这里我安装在了"D:\work\soft\tesseract-ocr"这个目录下,

然后找到"pytesseract.py"这个文件,因为我这里安装的是"Anaconda",所以在这个文件夹目录下找,路径在这个位置:

Tesseract(识别验证码)_第7张图片

打开pytesseract.py这个文件,找到这个位置:

Tesseract(识别验证码)_第8张图片

如果没用这个文件,然后安装pytesseract模块

pip  install  pytesseract

注意:这里的地址如果是反斜杠,前面需要加上r,作用是:去除转义字符.还可以使用"/"的路径方式

修改成tesseract的安装目录。最后重新运行程序即可。

import pytesseract
from PIL import Image
im=Image.open('google.png')
print(pytesseract.image_to_string(im))

你可能感兴趣的:(python爬虫,python,爬虫,人工智能)