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

posted @ 2026-09-02 21:04  张蓝芳  阅读(15)  评论(1)    收藏  举报