利用python及tesseract达到高效破解验证码的方式,主要针对彩色背景,包含数字、英文字母,存在干扰性的简单验证码。
- 前期准备
i. window 10
ii. python 3.8
iii. tesseract-ocr.exe
iv. jTessBoxEditor-1.80 (用以完成tesseract字库的训练)
v. requests, pytesseract, PIL 等库
2.流程介绍
i. 环境配置
ii. 验证码图片下载
iii. 验证码图片处理
iv. 基于验证码中字符的tesseract字库训练
v. 验证码破解
-
环境配置
i. python3.8的安装及配置
这个不是本文重点,相信大家也已经安装了,就不赘述了。
ii. tesseract-ocr的安装及配置
打开链接 https://digi.bib.uni-mannheim.de/tesseract/ 选择版本下载
我这边选择的是 tesseract-ocr-w64-setup-v5.0.0.20190623.exe
然后安装,我安装的目录是D:\Program Files\Tesseract-OCR
配置环境变量:
Path中新增D:\Program Files\Tesseract-OCR;
系统变量中新增 一个变量名为:TESSDATA_PREFIX
值为D:\Program Files\Tesseract-OCR\tessdata
如下图:
iii. 安装python的OCR识别库
win+R 打开命令行
pip install Pillow
pip install pytesseract
修改pytesseract第三方库的pytesseract.py
打开pytesseract.py, 将window的tesserocr应用的tesserocr.exe绑定好。如下图
iv. jTessBoxEditor-1.8.0的安装和使用
jTessBoxEditor是训练tesseract词库的一款工具,可以直接从官网下载压缩包,下载地址Browse /jTessBoxEditor at SourceForge.net。解压后,可直接使用