业务场景中常需批量获取订单信息,但携程验证码机制增加了自动化难度。针对中文点选验证码识别难的问题,本文介绍一种基于第三方 API 的解决方案。
验证码结构分析
携程验证码分为小图和大图部分。小图部分包含待识别的文字,大图部分为点击区域。原理是先识别小图文字,再点击到大图对应文字的正确位置。

识别方案
借助第三方图像识别平台,无需人工介入,识别速度快且准确率高。平台提供多种中文识别模型,例如'中文通用类型'和'图片识别类型'。
代码实现
以下 Python 代码展示了如何调用 API 进行识别。小图和大图的识别逻辑相同,主要区别在于请求数据中的模型 ID(Model ID)。
import base64
import json
import requests
def b64_api(username, password, img_path, model_id):
with open(img_path, 'rb') as f:
b64_data = base64.b64encode(f.read())
b64 = b64_data.decode()
data = {
"username": username,
"password": password,
"ID": model_id,
"b64": b64
}
data_json = json.dumps(data)
result = json.loads(requests.post("http://www.tulingtech.xyz/tuling/predict", data=data_json).text)
return result
if __name__ == "__main__":
img_path = "C:/Users/Administrator/Desktop/file.jpg"
# 替换为实际的账号密码和模型 ID
result = b64_api(
username=,
password=,
img_path=img_path,
model_id=
)
(result)


