python呼叫百度翻譯api 離線語種檢測

2021-10-13 07:43:53 字數 1655 閱讀 8489

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...