分享

Pytesseract的安装与使用

 中间件 2022-01-04

一、安装pytesseract

通过cmd输入pip install pytesseract进行安装,但是安装后并不能直接使用,还需要下载Tesseract-OCR。

下载Tesseract-OCR
下载完双击打开,连续next,直到出现安装路径的时候,可以自定义安装路径也可以使用默认的安装路径,但是无论是哪一种一定要记住路径。
我的是自定义的安装路径

F:\Tesseract-OCR\tesseract.exe

然后通过cmd输入pip install pytesseract可以看到自己安装的pytesseract所在路径

image.png

根据路径找到pytesseract.py
image.png

点开编辑,找到tesseract_cmd将它改为你刚刚安装的tesseract的路径。
image.png

保存后去运行程序会发现没办法使用pytesseract库,它还是会报错,这是由于环境变量也要进行设置。
点开我的电脑—》属性—》高级系统设置—》环境变量,新建一个变量:
image.png

路径还是你刚刚安装的Tesseract-OCR路径,但是要将它定位到其中的tessdata,变量名也一定不能改。
然后在下面的path中加入的变量:
image.png

保存后,请一定要重启,然后在去运行程序就可以使用pytesseract库了。

二、pytesseract库的使用

我是以古诗文网的登录验证码为例,写的代码,运行后请对照图片与输出结果是否一致。
代码如下:

import requests
from lxml import etree
from PIL import Image
import pytesseract
if __name__ == '__main__':
    #或缺页面数据
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36'
    }
    url = 'https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx'
    page_text = requests.get(url=url, headers=headers).text
    #解析出页面中图片的地址
    tree = etree.HTML(page_text)
    cod_img_src ='https://so.gushiwen.cn' + tree.xpath('//*[@id="imgCode"]/@src')[0]
    cod_data = requests.get(url=cod_img_src,headers=headers).content
    with open('./code.jpg', 'wb') as fp:
        fp.write(cod_data)
    text = pytesseract.image_to_string(Image.open(r'./code.jpg'))
    print(text)

运行结果

image.png

实际结果
code.jpg

我运行了多次发现字母大部分都是能准确识别的,但是一旦数字经常识别错误。
参考:
https://blog.csdn.net/weixin_44010678/article/details/107818994
https://blog.csdn.net/qq_44314841/article/details/105602017?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多