调用百度云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()

运行结果如图

相关推荐
陈天伟教授12 天前
图解人工智能(58)人工智能应用-围棋国手
人工智能·语音识别·机器翻译
陈天伟教授13 天前
图解人工智能(55)人工智能应用-机器翻译
人工智能·自然语言处理·机器翻译
战族狼魂16 天前
基于 CNN 的ConvS2S(Convolutional Sequence-to-Sequence)架构英德机器翻译模型
人工智能·cnn·机器翻译
星贝爱科生物科研小能手16 天前
CS-PLGA@褪黑素纳米粒(CS-PLGA@MT NPs)的应用场景有哪些?
人工智能·自然语言处理·机器翻译
localbob17 天前
日语视频 SRT 字幕生成软件下载:日语视频本地自动翻译SRT字幕生成、日语视频自动翻译 Faster Whisper v1.7 下载与使用教程(含AMD显卡支持)
whisper·音视频·机器翻译·日语字幕翻译·日语视频翻译·本地ai翻译日语视频
searchforAI17 天前
利用AI翻译视频做双语笔记,一套视频翻译到知识库沉淀的完整方案
人工智能·笔记·gpt·音视频·语音识别·知识图谱·机器翻译
PersistJiao20 天前
python环境下免费、专业的中英翻译
开发语言·windows·python·机器翻译
A101693307121 天前
从机器翻译到智驾:规则派的黄昏与数据革命的终局 (十五)
人工智能·自然语言处理·机器翻译
ruanyongjing22 天前
从机器翻译到智驾:规则派的黄昏与数据革命的终局(五)
人工智能·自然语言处理·机器翻译
A101693307122 天前
从机器翻译到智驾:规则派的黄昏与数据革命的终局(十四)
人工智能·自然语言处理·机器翻译