使用pytesseract库识别图形验证码的简单案例
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]
最后运行以上代码就可以识别出图片验证码啦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异