超正方体库怎么在python中使用

  介绍

超正方体库怎么在python中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>一、超正方体简介

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

<强>二、超正方体的使用

1。下载并安装超正方体:点击下载

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

#根据下载安装文件的路径配置环境变量   set  TESSDATA_PREFIX  F: \ Tesseract-OCR \

3。安装pytesseract模块

pip  install  pytesseract

4。在Python脚本中引入超正方体。exe应用程序的方式:

pytesseract.pytesseract.tesseract_cmd =, " # 39; F: \ Tesseract-OCR \ tesseract.exe& # 39;

5。案例演示

识别以下图片文字:

超正方体库怎么在python中使用“> </p> <pre类= import  pytesseract   得到PIL  import 形象   # 1。引入超正方体程序   时间=pytesseract.pytesseract.tesseract_cmd  " # 39; F: \ Tesseract-OCR \ tesseract.exe& # 39;   # 2。使用图像模块下的开放()函数打开图片   时间=image  Image.open (& # 39; 6. jpg # 39;模式=& # 39;" # 39;)   打印(图片)   # 3。识别图片文字   代码=,pytesseract.image_to_string(图片)   打印(代码)

结果演示:

& lt; PIL.JpegImagePlugin。JpegImageFile=611=RGB模式图片大小在0 x1a5dfdcb4a8> x210;
谷歌

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

超正方体库怎么在python中使用“> </p> <p> <强>三、模拟登陆知乎源码</强> </p> <pre类= import 请求   import 时间   import  pytesseract   得到PIL  import 形象   得到bs4  import  BeautifulSoup      def 验证码(数据):   with 才能打开(& # 39;captcha.jpg& # 39;, & # 39; wb # 39;), as 外交政策:   ,,,fp.write(数据)   time . sleep才能(1)   时间=image 才能;Image.open (“captcha.jpg")   时间=text 才能;pytesseract.image_to_string(图片)   print 才能“机器识别后的验证码为:“+,文本   时间=command 才能;raw_input(“请输入Y表示同意使用,按其他键自行重新输入:“)   if 才能;(command ==,“Y",趁机command ==,“Y"):   ,,,return 文本   其他的才能:   ,,,return  raw_input(& # 39;输入验证码:& # 39;)      def  zhihuLogin(用户名、密码):      #,才能构建一个保存Cookie值的会话对象   时间=sessiona 才能;requests.Session ()   headers 才能=,{& # 39;用户代理# 39;:& # 39;Mozilla/5.0, (Windows  NT  10.0;, Win64;, x64;,房车:47.0),壁虎/20100101,Firefox/47.0 & # 39;}      #,才能先获取页面信息,找到需要发布的数据(并且已记录当前页面的饼干)   html 才能=,sessiona.get (& # 39; https://www.zhihu.com/signin& # 39;,,头=头).content      #,才能找到,name 属性值为,_xsrf 的输入标签,取出价值里的值   _xsrf 才能=,BeautifulSoup (html  & # 39; lxml # 39;);(& # 39;输入# 39;,,attrs={& # 39;名字# 39;:& # 39;_xsrf& # 39;}) . get(& # 39;价值# 39;)      #,才能取出验证码,r后面的值是Unix时间戳,time.time ()   时间=captcha_url 才能;& # 39;https://www.zhihu.com/captcha.gif?r=%d& type=登录# 39;,%,(time.time (), *, 1000)   时间=response 才能;sessiona.get (captcha_url, headers =,头)         data 才能=,{   ,,,“_xsrf": _xsrf,   ,,,“email":用户名、   ,,,“password":密码,   ,,,“remember_me":没错,   ,,,“captcha":,验证码(response.content)   ,,}      response 才能=,sessiona.post (& # 39; https://www.zhihu.com/login/email& # 39;,, data =,数据,标题=标题)   print  response.text才能      response 才能=,sessiona.get (& # 39; https://www.zhihu.com/people/maozhaojun/activities& # 39;,,头=标题)   print  response.text才能         if  __name__ ==,“__main__":   # username 才能=,raw_input (“username")   # password 才能=,raw_input (“password")   zhihuLogin才能(& # 39;xxxx@qq.com& # 39;, & # 39; ALAxxxxIME& # 39;)

超正方体库怎么在python中使用