在开发过程中,总会遇到语言翻译的需求,日常的有英语翻译成中文,中文翻译成日语,也有日语翻译成中文和中文翻译成日语的情况。

这里讲讲使用百度翻译API 实现语言翻译的功能的python版本


代码:
# -*- coding: utf-8 -*-
“””
我开发的百度翻译API接口!
使用方法:
r=trans(‘hello’)—翻译英文hello为中文
print r

r=trans(‘你好’,’zh’,’en’)—翻译‘中文’你好为英文
“””
import urllib2
import hashlib
import json
import chardet

#帐号输入
#你要申请一个baidu 翻译api帐号
#网址:注册百度翻译API帐号

trans_id=” ”  #APP ID
trans_passworld=” ”  #密钥
phone_num=” ” #你用来申请帐号的手机号码

def count(word):
    c=0
    for i in word:
        c+=1
    return c
def md5hex(word):    
    if isinstance(word, unicode):  
        word = word.encode(“utf-8”)  
    elif not isinstance(word, str):  
         word = str(word)  
    m = hashlib.md5()  
    m.update(word)  
    return m.hexdigest()
def trans(word,fr=’en’,to=’zh’):
    word_num=count(word)
    f=open(‘f:\\trans_count.txt’).read()
    old_num=int(f)
    if old_num>160000:
        print ‘你已经使用了大于160万个字符!’
    else:
        print ‘你已经使用’+f+’个字符!’
    
    f=open(‘f:\\trans_count.txt’,’w+’)
    new_num=word_num+old_num
    f.write(str(new_num));f.close()
    del old_num,word_num    
    sign=md5hex(trans_id+word+phone_num+trans_passworld)    
    api=’http://api.fanyi.baidu.com/api/trans/vip/translate?q=’+word+’&from=’+fr+’&to=’+to+’&appid=20160802000026139&salt=’+phone_num+’&sign=’+sign
    trans_data=urllib2.urlopen(api).read()
    trans_data=json.loads(trans_data)
    trans_data=trans_data[‘trans_result’][0][‘dst’]
    return trans_data

#编码方式
#trans(‘hello’).encode(‘utf-8’)

”’
from,to 字母的代表! – 语言id
auto 自动检测 
zh 中文 
en 英语 
yue 粤语 
wyw 文言文 
jp 日语 
kor 韩语 
fra 法语 
spa 西班牙语 
th 泰语 
ara 阿拉伯语 
ru 俄语 
pt 葡萄牙语 
de 德语 
it 意大利语 
el 希腊语 
nl 荷兰语 
pl 波兰语 
bul 保加利亚语 
est 爱沙尼亚语 
dan 丹麦语 
fin 芬兰语 
cs 捷克语 
rom 罗马尼亚语 
slo 斯洛文尼亚语 
swe 瑞典语 
hu 匈牙利语 
cht 繁体中文 
”’


欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » 使用百度翻译API 实现英语翻译Python版 API代码

    标签:

点评 0

评论前必须登录!

登陆 注册