龙空技术网

Python爬虫:利用Tesseract-OCR实现图片验证码识别,超简单

迷神笔记 933

前言:

此刻咱们对“图片验证码测试”可能比较关切,朋友们都想要知道一些“图片验证码测试”的相关内容。那么小编在网上搜集了一些对于“图片验证码测试””的相关内容,希望看官们能喜欢,小伙伴们一起来学习一下吧!

图/文:迷神

我们在做Python爬虫的时候,经常遇到图片验证码登陆等情况。图像验证码识别的方法也有很多种,利用Tesseract-OCR实现图片验证码识别就是其中一种,也比较简单。

Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。

我们准备环境:WIN10系统+Python3.6版本。

安装识别引擎

安装识别引擎tesseract-ocr。下载地址,大家可以私信 发送:识别 ,即可获取安装完整安装软件。

主要是根据自己的需要设置下安装目录即可。其他基本上一路next即可。

安装环境

先安装python识别图片的类库。命令如下:

pip install Pillowpip install pytesseract

接下来还要设置下,让python能够调用Tesseract-OCR程序识别验证码/文字。相关路径:

修改pytesseract.py文件中第35行将tesseract_cmd指向Tesseract-OCR的tesseract.exe

中文支持:安装完之后找到tessdata目录下,将下载的chi_sim.traineddata文件放到该目录下。这样它就能识别中文了。

实现代码

识别图片:

相关代码如下:

from PIL import Imageimport pytesseractimageObject=Image.open('D:\\D://new.jpg')print (imageObject)print (pytesseract.image_to_string(imageObject))

直接看下最终的结果

from PIL import Imageimport pytesseractpic_content=pytesseract.image_to_string(Image.open('D:\\3.png'),lang='chi_sim')print(pic_content)

中文识别结果,还算可以:

题外话:图片识别训练

这个只是基础,还有一些内容可能会识别不了,特别是中文的,这个时候,就需要进行训练,训练的流程如下:

安装jTessBoxEditorFX-> 获取样本.tif文件 -> Merge样本文件 –> 生成BOX文件 -> 字符矫正 -> 执行脚本文件 -> 将生成的.traineddata文件放入Tesseract-OCR\tessdata文件夹下

限于篇幅,我就不仔细说了,大家可以继续拓展研究。关于python爬虫的验证码识别,其实还有很多其他方式,更多好文章,大家可以关注后续内容哦。

标签: #图片验证码测试 #图片验证码测试点 #python获取验证码图片