一、Tesseract简介

Tesseract是一个OCR库(OCR是英文Optical Character Recognition的缩写),它用来对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程,Tesseract是目前公认最优秀,识别相对精准的OCR库。

二、Tesseract的使用

1.下载并安装Tesseract:点击下载

2.在Windows系统下设置环境变量:

#根据下载安装文件的路径配置环境变量

set TESSDATA_PREFIX F:\Tesseract-OCR\

3.安装pytesseract模块

pip install pytesseract

4.在Python脚本中引入tesseract.exe应用程序的方式:

pytesseract.pytesseract.tesseract_cmd = r'F:\Tesseract-OCR\tesseract.exe'

5.案例演示

识别以下图片文字:

import pytesseract

from PIL import Image

#1.引入Tesseract程序

pytesseract.pytesseract.tesseract_cmd = r'F:\Tesseract-OCR\tesseract.exe'

#2.使用Image模块下的Open()函数打开图片

image = Image.open('6.jpg',mode='r')

print(image)

#3.识别图片文字

code= pytesseract.image_to_string(image)

print(code)

结果演示:

Google

注:tesseract-OCR引擎识别验证码有些无法识别,比如像豆瓣生成的验证码无法识别其内容,如果需要爬取豆瓣中的数据这时候就需要手动的输入验证码:

三、模拟登陆知乎源码

import requests

import time

import pytesseract

from PIL import Image

from bs4 import BeautifulSoup

def captcha(data):

with open('captcha.jpg','wb') as fp:

fp.write(data)

time.sleep(1)

image = Image.open("captcha.jpg")

text = pytesseract.image_to_string(image)

print "机器识别后的验证码为:" + text

command = raw_input("请输入Y表示同意使用,按其他键自行重新输入:")

if (command == "Y" or command == "y"):

return text

else:

return raw_input('输入验证码:')

def zhihuLogin(username,password):

# 构建一个保存Cookie值的session对象

sessiona = requests.Session()

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0'}

# 先获取页面信息,找到需要POST的数据(并且已记录当前页面的Cookie)

html = sessiona.get('https://www.zhihu.com/#signin', headers=headers).content

# 找到 name 属性值为 _xsrf 的input标签,取出value里的值

_xsrf = BeautifulSoup(html ,'lxml').find('input', attrs={'name':'_xsrf'}).get('value')

# 取出验证码,r后面的值是Unix时间戳,time.time()

captcha_url = 'https://www.zhihu.com/captcha.gif?r=%d&type=login' % (time.time() * 1000)

response = sessiona.get(captcha_url, headers = headers)

data = {

"_xsrf":_xsrf,

"email":username,

"password":password,

"remember_me":True,

"captcha": captcha(response.content)

}

response = sessiona.post('https://www.zhihu.com/login/email', data = data, headers=headers)

print response.text

response = sessiona.get('https://www.zhihu.com/people/maozhaojun/activities', headers=headers)

print response.text

if __name__ == "__main__":

#username = raw_input("username")

#password = raw_input("password")

zhihuLogin('xxxx@qq.com','ALAxxxxIME')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

ipython tesseract_python使用Tesseract库识别验证相关推荐

  1. uiautomator2+ tesseract 智能识别文字实现手游辅助外挂,打怪刷装备快人一步

    目录 一.背景 二.需求分解 三.脚本开发实践 1.tesseract 安装及测试 2.python使用Tesseract库识别文字 3.构建定时任务,定时刷怪 4.最终效果 一.背景 先交代下背景, ...

  2. python视觉识别字_Python通过Tesseract库实现文字识别

    机器视觉 从Google的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广泛且具有深远的影响和雄伟的愿景的领域. 这里我们将重点介绍机器视觉的一个分支:文字识别.介绍如何用一些Pyt ...

  3. python代码标识码_代码分享:使用Python和Tesseract来识别图形验证码

    原标题:代码分享:使用Python和Tesseract来识别图形验证码 *本文原创作者:ipenox,本文属FreeBuf原创奖励计划,未经许可禁止转载 各位在企业中做Web漏洞扫描或者渗透测试的朋友 ...

  4. Tesseract训练识别数字

    Tesseract训练识别数字 一.软件环境 1.安装Tesseract 3.0.2 2.安装jTessBoxEditorFX训练工具 二.训练前需要准备的素材 1.多张包含数字的图片 三.开始训练 ...

  5. Tesseract:识别知乎网站登录验证码

    机器视觉 从 Google 的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广 泛且具有深远的影响和雄伟的愿景的领域. 我们将重点介绍机器视觉的一个分支:文字识别,介绍如何用一些 P ...

  6. python如何使用tessract_Python如何基于Tesseract实现识别文字功能

    机器视觉 从Google的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广泛且具有深远的影响和雄伟的愿景的领域. 这里我们将重点介绍机器视觉的一个分支:文字识别.介绍如何用一些Pyt ...

  7. 通过Python的pytesseract库识别图片中的文字

    文章目录 前言 一.pytesseract 1.pytesseract是什么? 2.安装pytesseract 3.查看pytesseract版本 4.安装PIL 5.查看PIL版本 二.Tesser ...

  8. linux环境下车牌识别验证

    车牌识别验证 ubuntu下载跨平台网络协议库与解压 安装 openssl下载与解压 示例测试代码 如果编译报错 链接库加-lssl和-lcrypto -----方式一 临时环境变量配置-----方式 ...

  9. 用Tesseract OCR识别图片文字

    用tesseract ocr识别图片中的文字  准备 OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以 ...

  10. 8 无法识别raid盘_王者荣耀防沉迷规则再升级;未来将采用人脸识别验证

    昨天,<王者荣耀>官网发布了<未成年人防沉迷新规接入公告>,这份公告对于未成年人的可游玩时长.充值金额等都做出了规定.规则规定:在游玩时长方面,未成年用户每日22时至次日8时禁 ...

最新文章

  1. 计算机兴趣班计划书,幼儿园兴趣班计划书.doc
  2. 微信小程序没登录跳到登录页怎么做_微信小程序手机端如何实现登录页面跳转含有Tabar页面...
  3. spring-statemachine有限状态机
  4. BZOJ3170: [Tjoi2013]松鼠聚会 - 暴力
  5. 通过 Visual Studio 的“代码度量值”来改进代码质量
  6. pdf转word python_Python实现PDF转Word
  7. Java基础(六) static五大应用场景
  8. AB PLC软件如何授权或者破解
  9. Linux下rpm包x86、i386、i486、i586、i686和x86_64这些后缀含义
  10. MD5加密 MD5加盐
  11. 完整的连接器设计手册_特斯拉的高压连接器
  12. PCL点云处理之计算三维向量夹角(六十五)
  13. rn react native PanResponder手势动画 实现窗口拖动 滑动动画 Animated
  14. 小红书销售情况(EDA/RFM)
  15. matlab hold on解释,matlab中hold on怎么用
  16. 安卓系统的电视机_换机顶盒比换电视机划算,海美迪4K播放器H7 Plus体验
  17. 小学计算机社团活动简报,多彩社团活动,幸福校园生活——单集镇新河小学开展社团活动简讯...
  18. 视频教程-ShardingSphere:SpringBoot2+MybatisPlus读写分离+分表-Java
  19. 你不知道的JavaScript中的5个JSON秘密功能
  20. 【很容易忽视的问题】为何使用护卫神iis-windows服务器,在使用护卫神主机修改网站信息后则无法访问的根本原因??

热门文章

  1. day24-XSS过滤及单实例
  2. 处理键盘上升盖住文本框问题
  3. 运行vue遇到的坑(续更
  4. Java异常框架设计
  5. java volatile 和Transient 关键字
  6. mongodb数组操作
  7. 第十一周项目6-回文素数(一)
  8. STL vector使用方法介绍
  9. 利用Mahout实现在Hadoop上运行K-Means算法
  10. QT第三方串口类Win_QextSerialPort,串口工具插拔后无法继续使用问题