Python3.5.1 百度翻译代码

好久没写博客了,发布点代码玩玩吧。

翻译代码:

#translate.py
#encoding=utf-8
import hashlib
import urllib.request
import json
##import hashlib  
##m = hashlib.md5()  
##m.update(b"Nobody inspects the spammish repetition") #参数必须是byte类型,否则报Unicode-objects must be encoded before hashing错误  
##md5value=m.hexdigest()  
##print(md5value)  #bb649c83dd1ea5c9d9dec9a18df0ffe9  

##加密英文
def md5en(str):
    m = hashlib.md5()  
    m.update(str.encode(encoding='utf-8')) 
    md5value=m.hexdigest()
    return md5value


##加密中文
def md5zh(str):
    m = hashlib.md5()  
    m.update(str.encode(encoding='gb2312')) 
    md5value=m.hexdigest()
    return md5value
#翻译成中文
def autoTozh(q):
    ##拼接加密字符串
    str = "2015063000000001" + q + "143566028812345678";
    sign=md5en(str)
    ##拼接url
    url="http://api.fanyi.baidu.com/api/trans/vip/translate?q="+urllib.parse.quote(q)+"&from=auto&to=zh&appid=2015063000000001&salt=1435660288&sign="+sign
    #print(url)
    response = urllib.request.urlopen(url).read().decode('utf8')
    #print(response)
    getJson = json.loads(response)
    #print(getJson)
    getInfo = getJson['trans_result']
    #print(getInfo)
    s=getInfo[0]
    re=s['dst']
    #print(s)
    print(re)
    return re

#翻译成英文
def autoToen(q):
    ##拼接加密字符串
    str = "2015063000000001" + q + "143566028812345678";
    sign=md5en(str)
    #print(sign)
    ##拼接url
    #URL 只允许一部分 ASCII 字符(数字字母和部分符号),其他的字符(如汉字)是不符合 URL 标准的。 所以 URL 中使用其他字符就需要进行 URL 编码。
    url="http://api.fanyi.baidu.com/api/trans/vip/translate?q="+urllib.parse.quote(q)+"&from=auto&to=en&appid=2015063000000001&salt=1435660288&sign="+sign
    #print(url)
    response = urllib.request.urlopen(url).read()
    response=response.decode('utf-8')
    #print(response)
    getJson = json.loads(response)
    #print(getJson)
    getInfo = getJson['trans_result']
    #print(getInfo)
    s=getInfo[0]
    re=s['dst']
    #print(s)
    print(re)
    return re

##a=md5zh('我')
##print('\'我\'的MD5加密结果是:')
##print(a)
##print('\'apple\'翻译成中文是:')
##print(autoTozh('apple'))
##print('\'香蕉\'翻译成英文是:')
##print(autoToen('香蕉'))
###韩语:你好
##print(autoToen('안녕하세요'))
##print(autoTozh('안녕하세요'))

#autoTozh('hi')

测试运行代码:

#translateTest.py
#encoding=utf-8
import translate
print("请输入0,翻译成汉语\n输入其它数字,翻译成英语")
a=int(input())
while(True):   
    if(a==0):
        b=str(input("输入要翻译词句:"))
        translate.autoTozh(b)
        print('Done')
    else:
        b=str(input("输入要翻译词句:"))
        translate.autoToen(b)
        print('Done')



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值