电话咨询
19922193247
我们在做Python爬虫的时候,经常遇到图片验证码登陆等情况。图像验证码识别的方法也有很多种,利用Tesseract-OCR实现图片验证码识别就是其中一种,也比较简单。
Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。
我们准备环境:WIN10系统+Python3.6版本。
安装识别引擎tesseract-ocr。下载地址,大家可以私信 发送:识别 ,即可获取安装完整安装软件。
主要是根据自己的需要设置下安装目录即可。其他基本上一路next即可。
先安装python识别图片的类库。命令如下:
pip install Pillow
pip install pytesseract
接下来还要设置下,让python能够调用Tesseract-OCR程序识别验证码/文字。相关路径:
修改pytesseract.py文件中第35行将tesseract_cmd指向Tesseract-OCR的tesseract.exe
中文支持:安装完之后找到tessdata目录下,将下载的chi_sim.traineddata文件放到该目录下。这样它就能识别中文了。
识别图片:
相关代码如下:
from PIL import Image
import pytesseract
imageObject=Image.open('D:\\D://new.jpg')
print (imageObject)
print (pytesseract.image_to_string(imageObject))
直接看下最终的结果
from PIL import Image
import pytesseract
pic_content=pytesseract.image_to_string(Image.open('D:\\3.png'),lang='chi_sim')
print(pic_content)
中文识别结果,还算可以:
这个只是基础,还有一些内容可能会识别不了,特别是中文的,这个时候,就需要进行训练,训练的流程如下:
安装jTessBoxEditorFX-> 获取样本.tif文件 -> Merge样本文件 –> 生成BOX文件 -> 字符矫正 -> 执行脚本文件 -> 将生成的.traineddata文件放入Tesseract-OCR\tessdata文件夹下
温馨提示:我们将在您提交信息后的30分钟内与您取得联系,请您保持电话通畅,谢谢!