在爬虫过程中,难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时候我们可以直接用OCR来识别。
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描光学符号,然后通过其形状将其翻译成电子文本的过程。
对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。
tesserocr 是 Python的一个OCR识别库,但其实是对 tesseract 做的一层PythonAPI封装,所以它的核心是 tesseract。
因此,在安装tesserocr之前,我们需要先安装tesseract
进入网址http://digi.bib.uni-mannheim.de/tesseract
下载对应版本进行安装。
要记住安装路径,安装完成后,我们要在系统环境变量中设置。
设置完环境变量后,我们就可以在命令行直接执行tesseract
命令了。
tesseract chi_sim.png result1 -l chi_sim
通过命令,我们就能够做到对图片文本的识别并提取到文件了。
# 命令行下通过--list-langs参数查看语言包
tesseract --list-langs
如果安装tesseract
的语言包中没有你想要的语言,可以去github
下载。
git clone git@github.com:tesseract-ocr/tessdata.git
下载完成后拷贝tessdata
目录下的语言包到tesseract
下的tessdata
目录
tesserocr
安装
# 安装图片处理库PIL
pip install pillow
接下来安装tesserocr
,我通过pip install tesserocr
安装失败了。所以通过wheel进行安装。
pip install wheel
下载对应的python版本再进行安装
https://github.com/simonflueckiger/tesserocr-windows_build/releases
下载whl文件到本地,然后执行下面命令安装
pip install tesserocr-2.6.0-cp311-cp311-win_amd64.whl
安装完成,我们就可以进行简单的代码测试了。
本节主要讲了tesserocr的安装和简单使用。对于ocr识别你可以使用一些国内的ocr库。
比如ddddocr,cnocr , paddleOCR基于深度学习的第三方库。