本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

百度翻译地址: 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函数那几行单独处理


appid = 'xxx'  # 你的appid
secretKey = 'xxx'  # 你的密钥