Python爬虫验证码识别(使用Tesseract OCR识别)

Lenskit 2018-11-02

主要思路是根据 教程 使用源码安装完tesseract后,然后通过安装pillow与pytesseract打通python进行在python代码中引用使用。

Python爬虫验证码识别(使用Tesseract OCR识别)

关注后私信小编 PDF领取十套电子文档书籍

I. 依赖安装

brewinstallautomake autoconf libtool
brewinstallpkgconfig
brewinstallicu4c
brewinstallleptonica
brewinstallgcc

II. Tesseract编译安装

git clone https://github.com/tesseract-ocr/tesseract/
cd tesseract
./autogen.sh
./configure CC=gcc-8 CXX=g++-8 CPPFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib
make -j
sudo make install # if desired

III. 语言配置

需要识别语言配置(参照 教程 ):

  1. 前面安装完后,你会发现在 /usr/local/share/tessdata 会有默认的data,将 export TESSDATA_PREFIX='/usr/local/share/tessdata' 配置到系统环境中
  2. 这里 下载对应版本的语言包
  3. 将下载的语言包直接放到这个 /usr/local/share/tessdata

比如我这边是4.0版本,我需要的是对英文的ocr识别(识别英文的验证码),我就直接下载4.00版本的 eng.traineddata :

Python爬虫验证码识别(使用Tesseract OCR识别)

然后再将下载下来的 eng.traineddata 放到到 /usr/local/share/tessdata 中即可:

Python爬虫验证码识别(使用Tesseract OCR识别)

IV. 打通Python

这边打通python直接通过 pytesseract ,十分方便。

先安装pillow:

pip install pillow

再安装pytesseract:

pip install pytesseract

安装完成后就可以通过其在python中使用了,如:

try:
 from PIL import Image
except ImportError:
 import Image
import pytesseract
# Simple image to string
print(pytesseract.image_to_string(Image.open('test.png')))
# French text image to string
print(pytesseract.image_to_string(Image.open('test-european.jpg'), lang='fra'))

更多使用方法参照 官方 的文档。

想要学习Python。关注小编头条号,私信【学习资料】,即可免费领取一整套系统的板Python学习教程!

相关推荐