import urllib, hashlib
import random
import requests, sys
defgettranstext
(in_text)
: q = in_text
fromlang =
'auto'
# 翻譯源語言=自動檢測
tolang1 =
'en'
# 譯文語言 = 英文
'' salt = random.randint(
32768
,65536
) secretkey =
''# 金鑰
# 生成sign
str(salt)
+ secretkey
m1 = hashlib.md5(sign.encode(
'utf-8'))
sign = m1.hexdigest(
) pre =
'/api/trans/vip/language'
mypre = pre +
'&q='
+ q +
'&from='
+ fromlang +
'&to='
+ tolang1 +
'&salt='
+str
( salt)
+'&sign='
+ sign
myurl =
'/api/trans/vip/translate'
myurl = myurl +
'&q='
+ q +
'&from='
+ fromlang +
'&to='
+ tolang1 +
'&salt='
+str
( salt)
+'&sign='
+ sign
mypreurl =
""+ mypre
url =
""+ myurl
url = url.encode(
'utf-8'
)print
(url)
res = requests.get(url)
try:
res =
eval
(res.text)
return
(res[
"trans_result"][
0]['dst'])
except
:# 沒有得到翻譯結果返回原字串
return in_text
langid離線語種檢測(langid):
pip install langid
import langid
lang = langid.classify(string)
注意點:結果以json往檔案寫入時要新增ensure_ascii=false,避免日語等沒有成功翻譯返回的結果寫入檔案亂碼。
wline = json.dumps(dic, ensure_ascii=
false)+
'\n'
fw.write(wline)
使用python呼叫百度翻譯api
注意看一下產品服務,有的服務有字元數量限制超過了要收費。輸入的引數有 簽名生成的演算法 import hashlib 用來計算md5碼 deffanyi shuru header 隨機碼 金鑰 q shuru md5 hashlib.md5 md5.update sign.encode utf 8 ...
openRefine呼叫百度翻譯api 模板
openrefine 目標列 編輯列 新增遠端資料為新列 表示式 import json import urllib import hashlib import random url secretkey x salt str random.randint 10000,99999 q value md...
百度翻譯API實戰
參考官方文件 定製化翻譯api技術文件 千萬要看清楚這個位址中的vip,而不是官方文件裡的private。真是個大坑呢。提交方式 get 或 post 引數設定 params或者body都可以 在postman中選擇bulk edit,加入以下內容 q from en to zh salt sign...