介绍

在爬虫过程中,难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时候我们可以直接用 OCR 来识别。

tesserocr 是 Python 的一个 OCR 识别库 ,但其实是对 tesseract 做的一 层 Python API 封装,所以它的核心是 tesseract。 因此,在安装 tesserocr 之前,我们需要先安装 tesseract 。

例如:对于下图的验证码,我们可以通过 OCR 技术将其转换成电子文本,然后爬虫将识别的结果提交给服务器,便可以达到自动识别验证码的过程。

  

相关链接

tesserocr GitHub: https://github.com/sirfz/tesserocr

tesserocr PyPI: https://pypi.python.org/pypi/tesserocr

tesseract 下载地址: http://digi.bib.uni-mannheim.de/tesseract

tesseract GitHub: https://github.com/tesseract-ocr/tesseract

tesseract 语言包: http://github.com/tesseract-ocr/tessdata

tesseract 文档: https://github.com/tesseract-ocr/tesseract/wiki/Documentation

Windows下的安装

在 Windows 下,首先需要下载 tesseract,它为 tesserocr 提供了支持。

进入下载页面,可以看到有各种 .exe 文件的下载列表,这里可以选择下载 3.0 版本 。 如下图所示为 3.05 版本 。

其中文件名中带有 dev 的为开发版本,不带 dev 的为稳定版本,可以选择下载不带 dev 的版本, 例如可以选择下载 tesseract-ocr-setup-3 .05.01.exe。

下载完成后双击运行,安装程序。需要注意的是,需要句选 Additional language data(download)选项来安装 OCR 识别支持的语言包,这样 OCR 便可以识别多国语言 。

给tesseract配置环境变量:

(1)将tesseract安装路径添加到path环境变量中

(2)将tesseract的语言包添加到环境变量中,在环境变量中新建一个系统变量,变量名称为TESSDATA_PREFIX,tessdata是放置语言包的文件夹,一般在你安装tesseract的目录下,即tesseract的安装目录就是tessdata的父目录,把TESSDATA_PREFIX的值设置为它即可

接下来 , 再安装 tesserocr 即可:

#pip install tesserocr pillow
  1. pip install Pillow==5.2.0 
  2. pip install pytesseract==0.2.4

验证安装

测试样例:

图片下载:http://images.cnblogs.com/cnblogs_com/Jimc/1316973/o_image.png

(1)用 tesseract 命令测试:

tesseract image.png result -l eng 

运行结果如下:

Tesseract Open Source OCR Engine v3.05.01 with Leptonica

(2)利用 Python 代码测试:

# coding=utf-8

import pytesseractfrom PIL import Image

# open imageimage = Image.open('./test.png')code = pytesseract.image_to_string(image, lang='chi_sim')print(code)

运行结果如下:

PythonWebSpider

另外,还可以直接调用 tesserocr 模块的 file_to_text() 方法,可以达到同样的效果:

import pytesseract
print(pytesseract.file_to_text('image.png'))

运行结果如下:

PythonWebSpider

如果成功输出结果,则证明 tesseract 和 tesserocr 都已经安装成功。

转载于:https://www.cnblogs.com/winstonsias/p/11451866.html

Python第三方模块tesserocr安装相关推荐

  1. Python学习之==第三方模块的安装、模块导入

    一.模块&包 1.模块 模块实质上就是一个Python文件,它是用来组织代码的.意思就是把Python代码写在里面,文件名就是模块的名称.例如:random.py,random就是模块的名称. ...

  2. python第三方模块安装路径_Python第三方Window模块文件的几种安装方法

    python安装第三方模块 使用软件管理工具pip python自带了包管理工具,就像手机app商城,91助手等软件的功能一样. python2与python3安装模块的方法相似,值得注意的是,你在p ...

  3. Python入门--第三方模块的安装与使用,pip,import

    #第三方模块的安装 #第一种方法 #pip install 模块名(win+R,输入cmd,在弹出的黑窗口中输入pip install 模块名) #此时需将pycharm解释器选择自己安装的pytho ...

  4. Python: 第三方模块(modules)的安装位置 (2014-08-24 23:19:18)转载▼ 标签: site-packages dist-packages 默认安装目录 分类: Pyth

    Python: 第三方模块(modules)的安装位置 在默认情况下,Python的module的默认安装目录是 /usr/local/lib/pythonX.Y/site-packages.例如,我 ...

  5. 因修改了用户文件夹名而无法使用pip安装python第三方模块的两种实用解决方法

    在之前因为把user文件夹里的中文名修改了,同时记得也要把电脑的环境变量修改过来,这个是前提! 然而,环境变量修改也无法使用pip安装python第三方模块,我在这里提供两种实用方法! 下面以安装关于 ...

  6. mac如何导入python第三方库_Mac系统中python idle导入第三方模块成功,ecplise导入python第三方模块失败解决方法...

    遇到一个比较纠结了4个月的问题,一直没有在意,今天实在忍受不了,尝试各种解决办法,终于把这个烦人的问题完美解决,不敢独享,写出来和各位大神共享. 问题:在mac OSx操作系统下,安装了python第 ...

  7. Python第三方库的安装,升级以及版本查看

    方法:通过电脑的cmd命令行来进行python第三方库的安装,升级以及版本查看 安装和升级pip 安装pip方法1 在cmd命令行输入以下命令: python -m ensurepip #当提示不存在 ...

  8. Python第三方模块:PyQt5简介

    CSDN话题挑战赛第1期 活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f 参赛话题:Python精彩第三方模块 ...

  9. 自动安装第三方库python,python第三方库自动安装脚本

    #python第三方库自动安装脚本,需要在cmd中运行此脚本 #BatchInstall.py import os libs = {"numpy","matplotlib ...

最新文章

  1. Luogu5369 [PKUSC2018]最大前缀和
  2. 一些WPF中的滤镜特效——Effect Library
  3. ASP.Net Core WebApi几种版本控制对比
  4. 玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制
  5. MinerConfig.java 爬取配置类
  6. 直博清华!陕西女学霸:从农村走出,3次斩获国奖,还被央视采访
  7. java中反射机制通过字节码文件对象获取字段和函数的方法
  8. qt怎么可以随意设置自己想要的表格_【Qt开发】QTableWidget的详细设置
  9. c语言flappy bird代码,Flappy bird源代码(略吊)
  10. 机器学习工具在数据中心的应用与发展
  11. 那些年Android黑科技②:欺骗的艺术
  12. Mac OS X新手入门
  13. 第十三周项目2(1)
  14. php 云片网对接,php调用云片网接口实现发送短信的案例
  15. php deflate 解压,PHP编码gzdeflate与Golang解码DEFLATE
  16. android 4.4.4最新微信,微信旧版本安卓4.4.4可用
  17. jQuery中的get和post请求
  18. 永恒之塔linux服务端,【永恒之塔单机5.8-6.5服务端】2020.06首发一键安装PC大型端游单机游戏客户端支持局域网联机玩[附视频搭建教程]...
  19. 荣耀50和荣耀50se参数对比 哪个更值得入手
  20. clearcase使用小结

热门文章

  1. 前端必看 | 2D游戏化互动入门基础知识
  2. 如何迁移 Flink 任务到实时计算
  3. Hologres是如何完美支撑双11智能客服实时数仓的?
  4. 玩大了! 阿里工程师的年会竟然这样搞?
  5. 移动平台游戏网络重连方案
  6. 在现代引擎游戏中使用正确的渲染打光流程
  7. 前端性能优化-图像优化
  8. MongoDB 优化器profile
  9. Resize Datafile时ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
  10. Oracle 表空间的段管理