OCR介绍
OCR,即 Optical Character Recognition,光学字符识别。是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。那么对于图形验证码来说,它都是一些不规则的字符,但是这些字符确实是由字符稍加扭曲变换得到的内容。
我们利用OCR技术可将简单的图形验证码转化为电子文本,然后爬虫将识别结果提交给服务器,便可以达到自动识别验证码的过程。
Tesserocr 是 Python 的一个 OCR 识别库,但其实是对 Tesseract 做的一层 Python API 封装,所以它的核心是 Tesseract,所以在安装 Tesserocr库 之前我们需要先安装 Tesseract软件
简单来说有两个步骤:
1.安装 Tesseract软件
2.安装tseserocr库
下载软件
在 Windows 下,首先需要下载 Tesseract,它为 Tesserocr 提供了支持,下载链接为:http://digi.bib.uni-mannheim.de/tesseract/。
点击进入之后可以看到有各种 exe 的下载列表,在这里可以选择下载 4.0 版本 tesseract-ocr-setup-4.00.00dev.exe,如图所示:
其中文件名中带有 dev 的为开发版本,不带 dev 的为稳定版本。
下载完成之后双击安装即可,在安装过程中可以勾选上 Additional language data 选项,安装 OCR 识别支持的语言包,这样 OCR 便可以识别多国语言。
复制你的安装路径,我的安装路径 D:\study_Tesseract-OCR\Tesseract-OCR,界面如下:
打开我的电脑系统属性 -> 高级 -> 环境变量,把该路径配置到环境变量:
然后将下载好的字库放到 Tesseract-OCR 项目的 tessdata 文件夹里面。
接下来再安装 Tesserocr 即可,直接使用 Pip 安装:
pip3 install tesserocr pillow
但是这里可能出现问题!!
通过命令行 pip3 install tesserocr pillow 安装库时遇到了报错,报错时忘记截图,大致如下
解决方案:
- 如果有报wheel的问题,请先安装wheel包。直接pip安装即可pip install wheel
- 如果没有报wheel的问题,就下载对应的.whl文件,下载地址为Releases · simonflueckiger/tesserocr-windows_build · GitHub
下载后,把下载下来的.whl文件放在任意路径下 (最好是环境变量中的文件夹)。然后通过pip命令安装该文件,运行pip install C:\Users\admin\Downloads\tesserocr-2.4.0-cp36-cp36m-win_amd64.whl(这里pip install后面跟着的是自己下载好的.whl文件即可)
3.如果还报tessdata的错误,将Tesseract-OCR下的tessdata文件复制到你的Python安装路径下即可,如下图
至此应该没问题了。运行结果如下