加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

利用百度、有道翻译API的在线翻译事例代码

发布时间:2020-12-17 17:14:55 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/usr/bin/env python3# -*- coding: utf-8 -*-import urllib.requestimport urllib.parseimport jsonimport sysdef BDTrans(words): params = urlli

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import urllib.request
import urllib.parse
import json
import sys

def BDTrans(words):
    params = urllib.parse.urlencode({'client_id':'0ZinyoGLHU9zZkfuBpfzKhuB','q':words,'from': 'auto','to':'auto'})
    f = urllib.request.urlopen("http://openapi.baidu.com/public/2.0/bmt/translate?%s" % params,timeout=5)
    s=json.loads(f.read().decode('utf-8'))
    print('来自百度翻译:nnt'+s['trans_result'][0]['dst'])

def BDDict(word):
    params = urllib.parse.urlencode({'client_id':'0ZinyoGLHU9zZkfuBpfzKhuB','q':word,'to':'auto'})
    f = urllib.request.urlopen("http://openapi.baidu.com/public/2.0/translate/dict/simple?%s" % params,timeout=5)
    s=json.loads(f.read().decode('utf-8'))
    print('来自百度词典:nnt'+'英式发音:'+s['data']['symbols'][0]['ph_en']+'    美式发音:'+s['data']['symbols'][0]['ph_am']+'n')

    contentls=s['data']['symbols'][0]['parts']
    for item in contentls:
        res=''
        for i in item['means']:
            res+=i+'; '
        print('t'+item['part']+'  '+res+'n')

def YDTrans(cont):
    params = urllib.parse.urlencode({'keyfrom':'PyTrans','key':'1531046399','type': 'data','doctype':'json','version':'1.1','q':cont})
    f = urllib.request.urlopen("http://fanyi.youdao.com/openapi.do?%s" % params,timeout=5)
    s=json.loads(f.read().decode('utf-8'))
    strtmp=''
    for i in s['translation']:
        strtmp+=i+'; '
    print('有道翻译:nnt'+strtmp+'n')
    print('有道词典:nnt'+'英式发音:'+s['basic']['uk-phonetic']+'    美式发音:'+s['basic']['us-phonetic']+'n')
    for i in s['basic']['explains']:
        print('t'+i)
    print('n有道词典-网络释义:')
    strtmp1=''
    for i in s['web']:
        for j in i['value']:
            strtmp1+=j+'; '
        print('nt'+i['key']+'nt'+strtmp1)

if  __name__=="__main__":
    if(len(sys.argv))!=2:
        print('命令行有误,请正确输入要查询的词或句子')
    else:
        BDTrans(sys.argv[1])
        BDDict(sys.argv[1])
        YDTrans(sys.argv[1])

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读