本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《
百度翻译地址:
https://fanyi.baidu.com/
上篇文章我使用了爬虫获取了有道翻译的接口,这次通过正规渠道获取翻译结果
百度翻译开放平台:
http://api.fanyi.baidu.com/api/trans/product/index
1、按照提示注册账号,获取 APP ID 和 密钥
2、申请开通通用翻译API服务
3、参考百度翻译提供的通用翻译API技术文档 接入方式
4、可以参考百度翻译提供的demo,有各种语言的调用实现,不过我没有运行成功(我的环境是py3)
5、找到百度翻译提供的返回示例,获取结果:
{
"from":"en",
"to":"zh",
"trans_result":[
"src":"apple",
"dst":"苹果"
}
完整代码
# coding=utf8
import requests
import hashlib
import random
appid = 'xxx' # 你的appid
secretKey = 'xxx' # 你的密钥
def baidu_fanyi(query):
salt = random.randint(1, 10) # 随机数
code = appid + query + str(salt) + secretKey
sign = hashlib.md5(code.encode()).hexdigest() # 签名
api = "http://api.fanyi.baidu.com/api/trans/vip/translate"
data = {
"q": query,
"from": "auto",
"to": "auto",
"appid": appid,
"salt": salt,
"sign": sign
response = requests.post(api, data)
result = response.json()
dst = result.get("trans_result")[0].get("dst")
except Exception as e:
dst = query
finally:
return dst
if __name__ == '__main__':
query ="Apple"
ret = baidu_fanyi(query)
print(ret)
# 苹果
说明:将代码中的以下参数替换为申请的值即可调用,环境是python3,如果是python2需要对md5函数那几行单独处理