调用百度云API机器翻译

新建Python文件,叫

复制代码
text_translator.py

输入

复制代码
import requests
import json

API_KEY = "glYiYVF2dSc7EQ8n78VDRCpa"  # 替换为自己的API Key
SECRET_KEY = "kUlhze8OQZ7xbVRp"  # 替换为自己的Secret Key


def main():
    # 选择翻译方向
    while True:
        direction = input("请选择翻译方向(输入1: 中译英,输入2: 英译中):").strip()
        if direction == '1':
            from_lang, to_lang = 'zh', 'en'
            break
        elif direction == '2':
            from_lang, to_lang = 'en', 'zh'
            break
        else:
            print("输入错误,请重新输入!")

    # 输入待翻译文本(支持多行输入)
    print("\n请输入需要翻译的文本(输入完成后请输入'END'并回车):")
    text_lines = []
    while True:
        line = input()
        if line.strip().upper() == 'END':
            break
        text_lines.append(line)
    original_text = '\n'.join(text_lines)

    if not original_text.strip():
        print("错误:输入的文本不能为空!")
        return

    # 调用翻译API
    try:
        url = f"https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token={get_access_token()}"

        payload = json.dumps({
            "from": from_lang,
            "to": to_lang,
            "q": original_text
        }, ensure_ascii=False)

        headers = {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }

        response = requests.post(url, headers=headers, data=payload.encode('utf-8'))
        response.raise_for_status()  # 检查HTTP状态码是否正常

        result = response.json()
        if 'error_code' in result:
            print(f"\n翻译失败!错误码:{result['error_code']},错误信息:{result['error_msg']}")
        else:
            translated_text = result['result']['trans_result'][0]['dst']
            print("\n翻译结果:")
            print(translated_text)

    except requests.exceptions.RequestException as e:
        print(f"\n网络请求异常:{str(e)}")
    except KeyError as e:
        print(f"\n解析结果失败,可能API返回格式变化:{str(e)}")
    except Exception as e:
        print(f"\n发生未知错误:{str(e)}")


def get_access_token():
    """获取API访问凭证"""
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {
        "grant_type": "client_credentials",
        "client_id": API_KEY,
        "client_secret": SECRET_KEY
    }
    try:
        response = requests.post(url, params=params)
        response.raise_for_status()
        return response.json().get("access_token")
    except Exception as e:
        print(f"获取access_token失败:{str(e)}")
        return None


if __name__ == '__main__':
    main()

运行结果如图

相关推荐
看山还是山,看水还是。7 小时前
消控室五方对讲接听操作流程
经验分享·笔记·搜索引擎·pdf·百度云·印象笔记·有道云笔记
承渊政道3 天前
从n-grams到Transformer:一文读懂语言模型基础
深度学习·学习·语言模型·自然语言处理·chatgpt·transformer·机器翻译
Mike_6665 天前
百度云车牌调用识别-Java工程
java·百度云·车牌识别·在线调用
智算菩萨14 天前
ChatGPT 5.4在英语学习中的应用:经典专四英语散文《Spring Thaw》赏析
人工智能·学习·ai·chatgpt·机器翻译
GinoInterpreter17 天前
什么是翻译的去中心化?
人工智能·自然语言处理·去中心化·区块链·机器翻译·机器翻译模型·机器翻译引擎
All The Way North-19 天前
【硬核实战】基于GRU + 注意力机制 的Seq2Seq机器翻译模型——从数据预处理到训练推理全解析
pytorch·gru·nlp·机器翻译·注意力机制·seq2seq·teacher forcing
All The Way North-1 个月前
从 Encoder-Decoder 到 Teacher Forcing:Seq2Seq 机器翻译的完整原理与实现细节全解析
机器翻译·注意力机制·encoder-decoder·seq2seq·自回归模型·teacher forcing·计划采样
qAICHjag1 个月前
openfast与simlink联合仿真模型,风电机组独立变桨控制与统一变桨控制。 独立变桨控制
百度云
陈天伟教授1 个月前
人工智能应用- 搜索引擎:06. PageRank 算法
神经网络·搜索引擎·语言模型·自然语言处理·机器翻译
陈天伟教授2 个月前
人工智能应用- 搜索引擎:02. 搜索引擎发展史
人工智能·深度学习·神经网络·游戏·搜索引擎·机器翻译