十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
无论是是自动化登录还是爬虫,总绕不开验证码,这次就来谈谈python中光学识别验证码模块tesserocr
和pytesseract
。tesserocr
和pytesseract
是Python的一个OCR识别库,但其实是对tesseract
做的一层Python API封装,pytesseract
是Google的Tesseract-OCR
引擎包装器;所以它们的核心是tesseract
,因此在安装tesserocr
之前,我们需要先安装tesseract
。
下载安装
下载地址:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.0.0.20181030.exe
下载完成后,双击安装,可以勾选Additional language data(download)
选项来安装OCR识别支持的语言包,但下载语言包实在是慢,我们可以直接从https://github.com/tesseract-ocr/tessdata/下载zip的语言包压缩文件,解压后将tessdata-master
中的文件复制到Tesseract
的安装目录C:\Program Files (x86)\Tesseract-OCR\tessdata
目录下,最后我们配置下环境变量,我们将C:\Program Files (x86)\Tesseract-OCR
添加到环境变量中。进入命令提示符,输入tesseract
,显示下图结果,说明配置完成
查看安装了的语言包:tesseract --list-langs
显示我一共安装了167种语言包,里边包含英文或者其他字符。
测试
实验用的二维码
基本使用语法
tesseract image.png result
(tesseract 图片名称 生成文件名称)
结果
由结果来看,识别出来了P、2和X,但是把C识别成了G,识别度还是比较高,接下来看在python中的使用
python引入tesseract
在python下使用pip命令即可完成下载安装 pip install pytesseract
识别验证码脚本
import pytesseract from PIL import Image im=Image.open('pin.png') print(pytesseract.image_to_string(im))
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。