百度翻译接口,普通版只能每秒调用一次,高级版的速度可以查看开发文档 百度翻译接口
APP ID 和密钥需要用户注册登录获得 填入APP ID 和密钥,就可运行 如果报错,检查第三方包是否安装
代码如下:
# -*- coding: utf-8 -*-
# 服务器地址在这里修改(开发者信息:通用翻译_服务信息):https://api.fanyi.baidu.com/manage/developer
# This code shows an example of text translation from English to Simplified-Chinese.
#此代码显示了从英语到简体中文的文本翻译示例。
# This code runs on Python 2.7.x and Python 3.x.
# 此代码能在 ... 和 ... 上运行
# You may install `requests` to run this code: pip install requests
#你需要 requests 库 运行代码 , 使用 pip install requests 安装
# Please refer to `https://api.fanyi.baidu.com/doc/21` for complete api document
# 详细信息请查看 官方文档
import requests
import random
import json
from hashlib import md5
# Generate salt and sign
def make_md5(s, encoding='utf-8'):
return md5(s.encode(encoding)).hexdigest()
# text 是将要翻译的文本
def get_it(text):
# Set your own appid/appkey. 设置您自己的appid/appkey。
appid = ''
appkey = ''
# 英文->中文 由英文翻译成中文
from_lang = 'en'
to_lang = 'zh'
endpoint = 'http://api.fanyi.baidu.com' # 固定内容,百度翻译开发者平台
path = '/api/trans/vip/translate' # 固定格式
url = endpoint + path # 拼接, 拼接后是网站的api接口(也是个网址,最好自行访问下感受感受)
salt = random.randint(32768, 65536) # 默认,官方要求的必填值
sign = make_md5(appid + text + str(salt) + appkey) # 同上
# Build request
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
payload = {'appid': appid, 'q': text, 'from': from_lang, 'to': to_lang, 'salt': salt, 'sign': sign}
# Send request 发送请求获取数据
r = requests.post(url, params=payload, headers=headers)
result = r.json() # 解析获得的 json 数据
# print(result) # 查看网页返回的内容 (json 解码后的)
# print(result['trans_result'][0]['dst'])
# 输出文字第一部分的翻译结果 (以 \n 划分部分) 'dst':翻译结果 'src':原文
# print(json.dumps(result, indent=4, ensure_ascii= False))
# 输出的是经过整理的 解码后的结果(建议打印一下查看一下效果)
# print('翻译完毕')
# 我是要在别的文件调用因此返回一个值,你也可以不返回,直接打印
# print('原文:\n',result['trans_result'][0]['dst'])
# print('译文:\n',result['trans_result'][0]['src'])
# 如果翻译的内容中有 '\n' 请使用循环或者别的方式获取合并后打印,因为会分别翻译,分别储存
# 这里只读取 [0] 第一个, 默认只翻译一段,因为我的用途是翻译简短的英文单词
return result['trans_result'][0]['dst']
get_it('english') # 调用函数 测试一下
# print('翻译的结果是:'+get_it('Set your own appid/appkey'))