一、安装pytesseract通过cmd输入pip install pytesseract进行安装,但是安装后并不能直接使用,还需要下载Tesseract-OCR。 下载Tesseract-OCR
然后通过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 |
|