parent
3061fa338d
commit
027538860d
@ -0,0 +1,65 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# This file is auto-generated, don't edit it. Thanks.
|
||||
# pip install alibabacloud_ocr_api20210707==3.1.2
|
||||
import json
|
||||
import os
|
||||
|
||||
from alibabacloud_ocr_api20210707 import models as ocr_api_20210707_models
|
||||
from alibabacloud_ocr_api20210707.client import Client as ocr_api20210707Client
|
||||
from alibabacloud_tea_openapi import models as open_api_models
|
||||
from alibabacloud_tea_util import models as util_models
|
||||
|
||||
|
||||
class RecognizeHandwriting:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
def create_client() -> ocr_api20210707Client:
|
||||
# 安全建议:建议将密钥移到环境变量中
|
||||
config = open_api_models.Config(
|
||||
access_key_id=os.getenv('ALIYUN_ACCESS_KEY', 'LTAI5tE4tgpGcKWhbZg6C4bh'),
|
||||
access_key_secret=os.getenv('ALIYUN_ACCESS_SECRET', 'oizcTOZ8izbGUouboC00RcmGE8vBQ1')
|
||||
)
|
||||
config.endpoint = f'ocr-api.cn-hangzhou.aliyuncs.com'
|
||||
return ocr_api20210707Client(config)
|
||||
|
||||
@staticmethod
|
||||
def recognize_handwriting(imageUrl) -> None:
|
||||
client = RecognizeHandwriting.create_client()
|
||||
recognize_handwriting_request = ocr_api_20210707_models.RecognizeHandwritingRequest(
|
||||
url=imageUrl
|
||||
)
|
||||
runtime = util_models.RuntimeOptions()
|
||||
|
||||
try:
|
||||
response = client.recognize_handwriting_with_options(
|
||||
recognize_handwriting_request,
|
||||
runtime
|
||||
)
|
||||
|
||||
# 转换为字典格式
|
||||
result = response.body.to_map()
|
||||
# print("完整响应:", result)
|
||||
|
||||
# 检查状态码
|
||||
# 正确解析数据(注意字段大小写)
|
||||
data_str = result.get('Data', {})
|
||||
data_dict = json.loads(data_str)
|
||||
content = data_dict.get('content', '')
|
||||
print("识别成功:\n")
|
||||
return content
|
||||
except Exception as error:
|
||||
# 增强错误处理
|
||||
if hasattr(error, 'data'):
|
||||
error_data = error.data
|
||||
print(f"错误详情:{error_data.get('Code', '未知')} - {error_data.get('Message', '无错误信息')}")
|
||||
print(f"建议:{error_data.get('Recommend', '无建议')}")
|
||||
else:
|
||||
print(f"未处理的异常:{str(error)}")
|
||||
return None
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
content = RecognizeHandwriting.recognize_handwriting('https://ylt.oss-cn-hangzhou.aliyuncs.com/HuangHai/1.jpg')
|
||||
print(content)
|
Loading…
Reference in new issue