python调用百度翻译api+离线语种检测

您所在的位置:网站首页 百度翻译能离线翻译吗 python调用百度翻译api+离线语种检测

python调用百度翻译api+离线语种检测

2024-07-09 04:04| 来源: 网络整理| 查看: 265

百度翻译api调用(具体参考的哪篇博文找不到了,好几篇太像了,原作者留意到可以告知我改转载附上链接):

import urllib, hashlib import random import requests, sys def getTransText(in_text): q = in_text fromLang = 'auto' # 翻译源语言=自动检测 toLang1 = 'en' # 译文语言 = 英文 appid = '' # APP ID salt = random.randint(32768, 65536) secretKey = '' # 密钥 # 生成sign sign = appid + q + str(salt) + secretKey m1 = hashlib.md5(sign.encode('utf-8')) sign = m1.hexdigest() # 百度翻译有http和https两个api入口,https的翻译接口需要更换url pre = '/api/trans/vip/language' mypre = pre + '?appid=' + appid + '&q=' + q + '&from=' + fromLang + '&to=' + toLang1 + '&salt=' + str( salt) + '&sign=' + sign myurl = '/api/trans/vip/translate' myurl = myurl + '?appid=' + appid + '&q=' + q + '&from=' + fromLang + '&to=' + toLang1 + '&salt=' + str( salt) + '&sign=' + sign mypreurl = "http://api.fanyi.baidu.com" + mypre url = "http://api.fanyi.baidu.com" + 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)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3