Python3 实现简单的验证码识别

2020-09-17  本文已影响0人  C1R2

环 境:
Python3 + Selenium + OCR软件 + pytesseract/PIL(第三方图像识别库)
Python3安装两个第三方图像识别库,直接命令行输入:pip install pytesseract,同时也会附带安装PIL库
OCR软件下载(目前最新版是v5.0.0):https://github.com/UB-Mannheim/tesseract/wiki

配置环境变量:
PATH→ C:\Program Files\Tesseract-OCR
TESSDATA_PREFIX→ C:\Program Files\Tesseract-OCR\tessdata
注 意:OCR软件需要配置两个环境变量,一个是其安装路径,另一个是安装路径下的tessdata,变量名为:TESSDATA_PREFIX,这个点很重要!
注意添加path,添加时候开头用“;”跟之前的变量隔开,结尾以“;”结尾。

打开命令终端,输入:tesseract -v,可以看到版本信息

windows环境下使用pytesseract识别验证码中文字时报错:
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path
解决方案:
1.找到python的安装路径下的pytesseract: 例如我的是 C:\softwares\python3.6.5\Lib\site-packages\pytesseract
2.用文本编辑器打开,查找tesseract_cmd
将原来的 tesseract_cmd = 'tesseract' 改为: tesseract_cmd = 'OCR的安装路径下的tessract.exe'
例如我的是 tesseract_cmd = 'C:\Program Files\Tesseract-OCR\tesseract.exe'
注意有的地方需要转义 例如 \tesseract.exe,或者也可直接加r转义
tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'


图片.png 图片.png

安装opencv

由于验证码需要做一些优化处理,方便更加容易被tesserocr识别,所以需要使用opencv来做一些特殊的处理,安装opencv比较简单,直接pip install opencv-python即可。

参考(https://www.jianshu.com/p/bab126354436)
(https://blog.csdn.net/ever_peng/article/details/90547299?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param)
https://mp.weixin.qq.com/s/1mb2S1tYFTktxZP9ojmVjA
https://www.jianshu.com/p/5d93b9e3cb33

上一篇下一篇

猜你喜欢

热点阅读