02-python验证码识别
import base64
import ddddocr
import requests
# 全局只创建一次 OCR 识别器
ocr = ddddocr.DdddOcr()
def get_login_captcha(verify_url, session=None):
"""
获取并识别验证码
:param verify_url: 获取验证码的接口地址
:param session: requests.Session 对象,用于保持登录会话
:return: (uuid, captcha_text, session)
"""
if session is None:
session = requests.Session()
# 1. 请求验证码接口
resp = session.get(verify_url).json()
uuid = resp["data"]["uuid"]
b64_str = resp["data"]["imageBase64"]
# 2. 去除 Base64 前缀
if b64_str.startswith("data:"):
b64_str = b64_str.split(",", 1)[1]
# 3. Base64 解码 + OCR 识别(复用全局 ocr 实例)
img_bytes = base64.b64decode(b64_str)
captcha_text = ocr.classification(img_bytes)
return uuid, captcha_text, session
浙公网安备 33010602011771号