python百度翻译接口_利用百度翻译API做的在线翻译(python)

#! /usr/bin/python

# -*- coding: utf-8 -*-

#######################################

#

#e.g. how are you

# 你好

# 2013.5.16

#######################################

import urllib.request,urllib.parse

import os,sys

import json

API_KEY = 'awG627Qe2BTnrexw678GnYTi'

DU_TRANS_URL = 'http://openapi.baidu.com/public/2.0/bmt/translate?client_id=%s&q=%s&from=%s&to=%s'

def translate(src,flag):

if flag == 'c2e':#chinese to english

srclanguage = 'zh'

destlanguage = 'en'

elif flag == 'e2c':# english to chinese

srclanguage = 'en'

destlanguage = 'zh'

elif flag == 'o2o':#auto

srclanguage = 'auto'

destlanguage = 'auto'

else:

print('Wrong Flag, use c2e(chinese to english) or e2c(english to chinese)!!')

exit(-1)

try:

response = urllib.request.urlopen(DU_TRANS_URL%(API_KEY,urllib.parse.quote(src),srclanguage,destlanguage))

except Exception as e:

raise Exception('Connect to Server Fail!' + str(e))

jsonData = json.loads(response.read().decode('utf-8'))

if 'error_code' in response:

raise Exception('trans error:' + jsonData['error_msg'])

print('-->',jsonData['trans_result'][0]['dst'])

if __name__=='__main__':

while 1:

translatesting = input()

if translatesting == '':#空串结束

exit(0)

translatesting_l = translatesting.split()

translate(translatesting,'o2o')

#实现判断输入的字符串是中文还是英文,转换成unicode编码后进行判断,未实现。

# if 是英文:

# translate(translatesting,'e2c')

# else是中文:

# translate(translatesting,'c2e')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用百度翻译API,您需要先在百度翻译开放平台注册并创建一个应用程序,然后获取应用程序的APP ID和密钥。 接着,在Python中调用百度翻译API接口需要使用requests库,以下是一个示例代码: ```python import requests import json url = 'https://fanyi.baidu.com/v2transapi' app_id = 'your app id' secret_key = 'your secret key' def translate(text, from_lang, to_lang): data = { 'from': from_lang, 'to': to_lang, 'query': text, 'transtype': 'translang', 'simple_means_flag': '3', 'sign': '', 'token': '', } sign = app_id + text + str(1435660288) + secret_key sign = hashlib.md5(sign.encode()).hexdigest() data['sign'] = sign data['token'] = 'e8c37d1a59fdefa0e7e9e012c2261f48' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36', 'Referer': 'https://fanyi.baidu.com/', 'Origin': 'https://fanyi.baidu.com', 'Host': 'fanyi.baidu.com', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6', 'Cookie': 'BAIDUID=your Baidu ID', } response = requests.post(url, headers=headers, data=data) content = json.loads(response.text) return content['trans_result']['data'][0]['dst'] ``` 在上面的代码中,您需要将“your app id”和“your secret key”替换为您自己的百度翻译应用程序的APP ID和密钥。还需要将“your Baidu ID”替换为您自己的百度ID。 然后,您可以调用“translate”函数并传递要翻译的文本,源语言和目标语言作为参数。例如: ```python text = 'Hello, World!' from_lang = 'en' to_lang = 'zh' translation = translate(text, from_lang, to_lang) print(translation) ``` 这将输出“你好,世界!”(Hello, World!的中文翻译)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值