import requests from PIL import Image import pytesseract # 获取验证码图片 url = 'http://jw.glutnn.cn/academic/getCaptcha.do?captchaCheckCode=0&random=0.20354331774429668' response = requests.get(url) # 保存验证码图片 with open('captcha.png', 'wb') as f: f.write(response.content) # 打开并显示验证码图片 image = Image.open('captcha.png') image.show() # 使用tesseract识别验证码内容 captcha = pytesseract.image_to_string(image) print('验证码内容:', captcha)
需要注意:
1.单独的pytesseract库是无法运行的,需要下载Tesseract-OCR
2.下载链接:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
3.安装:按照默认的安装或者指定路径都可以,我这里将安装路径改为D:\Programe Files (x86)\Tesseract-OCR,默认是C:\Programe Files (x86)\Tesseract-OCR
4.配置环境变量(系统变量):
变量名(N):TESSDATA_PREFIX
变量值(V):D:\Programe Files (x86)\Tesseract-OCR\tessdata
5.找到pytesseract库的pytesseract.py文件,修改文件配置,三处:
# 增加tessdata文件的路径变量 tessdata_dir_config = '--tessdata-dir "D:\\Programe Files\\Tesseract-OCR\\tessdata"' # 修改一下tesseract_cmd变量 # 由原来的 # tesseract_cmd = 'tesseract' # 修改为 tesseract_cmd = 'D:/Programe Files/Tesseract-OCR/tesseract.exe' # 将tessdata_dir_config变量直接添加到image_to_string函数中 def image_to_string( image,
lang=None,
config=tessdata_dir_config,
nice=0,
output_type=Output.STRING,
timeout=0, ): """ Returns the result of a Tesseract OCR run on the provided image to string """ args = [image, 'txt', lang, config, nice, timeout]
最后运行以上代码就可以识别出图片验证码啦
标签:tessdata,Tesseract,image,验证码,pytesseract,图形,tesseract From: https://www.cnblogs.com/goolk/p/18151558