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

栏目: Python · 发布时间: 6年前

内容简介:主要思路是根据需要识别语言配置(参照比如我这边是4.0版本,我需要的是对英文的ocr识别(识别英文的验证码),我就直接下载4.00版本的

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

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爬虫验证码识别(使用Tesseract OCR识别)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

点击的奥秘:运用说服心理术提升在线影响力(全彩)

点击的奥秘:运用说服心理术提升在线影响力(全彩)

Nathalie Nahai(娜塔莉.纳海) / 陈旭 / 电子工业出版社 / 2014-9-1 / 75.00元

用户的每一次点击,不管是在虚拟商店购物,还是在浏览企业网站,或是漫无目的地把玩手机,都蕴藏着基于心理学的无穷奥秘。《点击的奥秘:运用说服心理术提升在线影响力》作者为全球知名的网络心理学家,其在《点击的奥秘:运用说服心理术提升在线影响力》中将心理学、神经科学及行为经济学巧妙地结合在一起,挖掘和提炼出一套行之有效的网络用户引导策略——既涵盖在线说服最新研究动向,也包括最前沿的科技成果,以及其他诸多惊人......一起来看看 《点击的奥秘:运用说服心理术提升在线影响力(全彩)》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换