python使用百度api翻译中英文
生活随笔
收集整理的這篇文章主要介紹了
python使用百度api翻译中英文
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
python使用百度api翻譯中英文
寫程序取變量名的時(shí)候,常常需要翻譯單詞,或者將中文翻譯成英語(yǔ).有道詞典,必應(yīng)詞典都很好,可是...命令行習(xí)慣了還是覺(jué)得用在cmd里面調(diào)出程序使用起來(lái)也許會(huì)更爽.于是查了查python相關(guān)的翻譯腳本.都很簡(jiǎn)單,獲取網(wǎng)頁(yè),然后解析,沒(méi)找到用requeset庫(kù)的.于是自己用request庫(kù)寫了個(gè).. 雖然簡(jiǎn)單,但是實(shí)用就好啦~~ 上網(wǎng)搜索發(fā)下百度的翻譯api有demo
稍微修改一下就可以直接使用了
#coding=utf8
import httplib
import md5
import urllib
import random
import json
'''
appid 申請(qǐng) http://api.fanyi.baidu.com/api/trans/product/apiapply
'''
appid = '20151113000005349'
secretKey = 'osubCEzlGjzvw8qdQc41'
httpClient = None
def requestTranslate(word,fromLang = 'en',toLang="zh"):
salt = random.randint(32768, 65536)
sign = appid+word+str(salt)+secretKey
m1 = md5.new()
m1.update(sign)
sign = m1.hexdigest()
httpClient = httplib.HTTPConnection('api.fanyi.baidu.com')
myurl = '/api/trans/vip/translate'
myurl = myurl+'?appid='+appid+'&q='+urllib.quote(word)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
httpClient.request('GET', myurl)
#response是HTTPResponse對(duì)象
response = httpClient.getresponse()
result = response.read()
ret = json.loads(result)
print(ret["trans_result"][0]["dst"])
httpClient.close()
#判斷首字母是否是英文字母從而判斷是英譯漢or漢譯英
def is_english_char(ch):
if ord(ch) not in range(97,122) and ord(ch) not in range(65,90):
return False
return True
if __name__ == '__main__':
import sys
word = (len(sys.argv) > 1) and sys.argv[1] or None
queryOnce = (word != None)
while True:
try:
if word == None:
word = raw_input("
input word to translate ,#[ input "!"exit ]
>")
if word == "!":
break
fromLang = "en"
toLang = "zh"
if not is_english_char(word[0]):
fromLang = "zh"
toLang = "en"
word = word.decode('gbk').encode('utf-8')
requestTranslate(word,fromLang,toLang)
word = None
if queryOnce == True:
break
except Exception,e:
print('!!!!! catch error!! ' + str(e))
word = None
推薦將如下 腳本放在 環(huán)境變量里邊,直接 win+r , tw english 或者 tw 中文~~
效果更快
@echo off
set OLD_DIR=%cd%
set DIR=%~dp0
cd /d %DIR%
python . ranslate_word_new.py %1
pause
總結(jié)
以上是生活随笔為你收集整理的python使用百度api翻译中英文的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 迷你飞信一出,LibFetion该挂了把
- 下一篇: asp.net发送邮件时在正文中插入图片