百度翻译地址: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) try: 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函数那几行单独处理
appid = 'xxx' # 你的appid secretKey = 'xxx' # 你的密钥