Python爬虫教程

Python tesserocr安装

Python tesserocr安装详细教程
在爬虫过程中,难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时候我们可以直接用 OCR 来识别。
tesserocr 是 Python 的一个 OCR 识别库 ,但其实是对 tesseract 做的一 层 Python API 封装,所以它的核心是 tesseract。 因此,在安装 tesserocr 之前,我们需要先安装 tesseract。
例如:对于下图的验证码,我们可以通过 OCR 技术将其转换成电子文本,然后爬虫将识别的结果提交给服务器,便可以达到自动识别验证码的过程。
图片验证码 图片验证码

Windows下的安装

在Windows下,首先需要下载tesseract,它为tesserocr提供了支持。进入下载页面,可以看到有各种.exe文件的下载列表,其中文件名中带有dev的为开发版本,不带dev的为稳定版本,可以选择下载不带dev的版本。
下载完成后双击安装。
tesserocr下载列表

tesseract配置环境变量

将tesseract安装路径添加到path环境变量中,将tesseract的语言包添加到环境变量中,在环境变量中新建一个系统变量,变量名称为TESSDATA_PREFIX,tessdata是放置语言包的文件夹,一般在你安装tesseract的目录下,即tesseract的安装目录就是tessdata的父目录,把TESSDATA_PREFIX的值设置为它即可。如下图所示:
tesseract环境变量配置 tesseract环境变量配置
接下来,再安装tesserocr即可,此时直接使用pip安装:
pip3 install tesserocr pillow

conda安装tesserocr

这是最简单的安装方式,通过以上命令就能实现安装,推荐初学者使用这种方法安装。
conda分为anaconda和miniconda。anaconda是包含一些常用包的版本,miniconda则是精简版,需要啥装啥,所以推荐使用miniconda。
miniconda官网: https://conda.io/miniconda.html 选择适合自己的版本下载安装即可。
使用conda安装tesserocr具体命令如下:
conda install -c simonflueckiger tesserocr pillow

Linux下的安装

对于Linux来说,不同系统已经有了不同的发行包了,它可能叫作tesseract-ocr或者tesseract,直接用对应的命令安装即可。
Ubuntu、Debian和Deepin
在Ubuntu、Debian和Deepin系统下,安装命令如下:
sudo apt-get install -y tesseract-ocr libtesseract-dev libleptonica-dev
CentOS、Red Hat
在CentOS和Red Hat系统下,安装命令如下:
yum install -y tesseract
在不同发行版本运行如上命令,即可完成tesseract的安装。
安装完成后,便可以调用tesseract命令了。
接着,我们查看一下其支持的语言:
tesseract --list-langs
运行结果示例:
List of available languages (3): eng osd equ
结果显示它只支持几种语言,如果想要安装多国语言,还需要安装语言包,官方叫作tessdata(其下载链接为: https://github.com/tesseract-ocr/tessdata)。
利用Git命令将其下载下来并迁移到相关目录即可,不同版本的迁移命令如下所示。
在Ubuntu、Debian和Deepin系统下的迁移命令如下:
git clone https://github.com/tesseract-ocr/tessdata.git
sudo mv tessdata/* /usr/share/tesseract-ocr/tessdata
在CentOS和Red Hat系统下的迁移命令如下:
git clone https://github.com/tesseract-ocr/tessdata.git
sudo mv tessdata/* /usr/share/tesseract/tessdata
这样就可以将下载下来的语言包全部安装了。
这时我们重新运行列出所有语言的命令:
tesseract --list-langs
结果如下:
List of available languages (107):
afr
amh
ara
asm
aze
aze_cyrl
bel
ben
bod
bos
bul
cat
ceb
ces
chi_sim
chi_tra
可以发现,这里列出的语言就多了很多,比如chi_sim就代表简体中文,这就证明语言包安装成功了。
接下来再安装tesserocr即可,这里直接使用pip安装:
pip3 install tesserocr pillow

Mac下的安装

在Mac下,我们首先使用Homebrew安装ImageMagick和tesseract库:
brew install imagemagick
brew install tesseract --all-languages
接下来再安装tesserocr即可:
pip3 install tesserocr pillow
这样我们便完成了tesserocr的安装。

验证安装

找一张图片命名为image.png,然后用tesseract命令测试:
tesseract image.png result -l eng && cat result.txt
运行结果如下:
Tesseract Open Source OCR Engine v3.05.01 with Leptonica
Python3WebSpider
还可以利用Python代码来测试,这里就需要借助于tesserocr库了,测试代码如下:
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-19
import tesserocr
from PIL import Image
image = Image.open('image.png')
print(tesserocr.image_to_text(image))
利用Image读取了图片文件,然后调用了tesserocr的image_to_text()方法,再将其识别结果输出。
运行结果如下:
Python3WebSpider

拓展资料

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4