Python爬虫-16- pytesseract验证码识别

 pytesseract

pytesseract是Python的一个OCR识别库,OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。

pytesseract其实是对tesseract做的一层Python API封装,pytesseract是Google的Tesseract-OCR引擎包装器;所以它们的核心是tesseract,因此在安装tesserocr之前,我们需要先安装tesseract

 

第一步:tesseract-OCR安装

1)下载地址:https://digi.bib.uni-mannheim.de/tesseract/

选择对应版本

Python爬虫-16- pytesseract验证码识别_第1张图片

2)下载后,双击傻瓜式安装,勾选语言英文、中文即可,一直往下安装直到安装完毕

3)配置环境变量

Python爬虫-16- pytesseract验证码识别_第2张图片

4)安装配置完成

Python爬虫-16- pytesseract验证码识别_第3张图片

 

第二步:pytesseract安装

pip install pytesseract

Python爬虫-16- pytesseract验证码识别_第4张图片

 

安装处理图片的库(我之前安装好了的)

pip install pillow

到这里所需环境ok了,下面来尝试一下验证码的识别操作

 

脚本部分

# coding:utf-8
from PIL import Image
import pytesseract

# 1.打开图片;2.识别图像;3.打印结果
img_1 = Image.open("1.jpg")
result = pytesseract.image_to_string(img_1)
print(result)

1)执行时,如截图报错

Python爬虫-16- pytesseract验证码识别_第5张图片

2)百度了一下,解决方案如下。

pytesseract安装后,在python的Lib目录下site-packges下会生成一个pytesseract文件夹,文件夹中找到pytesseract.py,路径为:D:\Program Files\python3.5\Lib\site-packages\pytesseract,使用notepad之类软件打开pytesseract.py,找到
tesseract_cmd = 'tesseract',将tesseract修改为安装tesseract的绝对路径

Python爬虫-16- pytesseract验证码识别_第6张图片

3) 继续运行,验证码识别出来了

Python爬虫-16- pytesseract验证码识别_第7张图片

 4)我们首先利用Image读取了图片文件,然后调用了pytesseract的image_to_string()方法,再将其识别结果输出。但是这也只能做些简单的识别

你可能感兴趣的:(Python爬虫)