python3调用百度翻译接口

欢迎关注原创视频教程

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475
百度翻译接口,普通版只能每秒调用一次,高级版的速度可以查看开发文档 百度翻译接口

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')) 

你可能感兴趣的:(经验,图床,php,备份)