python维语翻译中文_维文、藏文等特殊语种翻译
最近在研究语音识别,主要是维语、藏语等小众语言的识别,调用 JTHS 的SDK后,识别结果是维文或者藏文,看不懂啊,必须要翻译成汉语才行,于是又调用 JTHS 官方提供的Web API,但是成功率太低,反馈给技术人员,暂未得到解决,很是失望。于是在网上找到了“中国民族语文翻译局”,这里刚好有这些特殊语种的翻译,于是研究一番,就着手写了Python和C#版本的翻译接口。效果还不错,于是写篇文章记录下。
话不多说,直接贴代码。
Python版
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@Author : Anuo.
@License : (C) Copyright 2019, Anuo's Studio
@Contact : 188512936@qq.com
@Software: VS2017
@File: mzywfyj_spider.py
@Time: Feb 20,2019
@Desc: 中国民族语文翻译局,翻译爬虫,网址:http://www.mzywfy.org.cn/translate.jsp
'''
import urllib.request
import urllib.parse
import json
def mzywfyj_translate(trans_text, trans_from, trans_to, trans_url):
'''翻译'''
mzywfyj_url = "http://www.mzywfy.org.cn/ajaxservlet"
data = {}
data['src_text'] = trans_text
data['from'] = trans_from
data['to'] = trans_to
data['url'] = trans_url
data = urllib.parse.urlencode(data).encode('utf-8')
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"}
headers['Referer'] = 'http://www.mzywfy.org.cn/translate.jsp'; # 这个头必须加,不然不能成功
fanyi_re = urllib.request.Request(mzywfyj_url, data, headers)
fanyi_response = urllib.request.urlopen(fanyi_re)
ret = fanyi_response.read().decode('utf-8')
print(ret)
if __name__ == "__main__":
# 可以根据自己的需要设置参数,然后调用方法mzywfyj_translate()
# 汉文 -> 维吾尔文
trans_text = '你好'
trans_from = 'zh'
trans_to = 'uy'
trans_url = 2
mzywfyj_translate(trans_text, trans_from, trans_to, trans_url)
# 维吾尔文 -> 汉文
trans_text = ' '
trans_from = 'uy'
trans_to = 'zh'
trans_url = 7
mzywfyj_translate(trans_text, trans_from, trans_to, trans_url)
# 汉文 -> 藏文
trans_text = '你好'
trans_from = 'zh'
trans_to = 'ti'
trans_url = 1
mzywfyj_translate(trans_text, trans_from, trans_to, trans_url)
# 藏文 -> 汉文
trans_text = 'སྐུ་ཁམས་བཟང་'
trans_from = 'ti'
trans_to = 'zh'
trans_url = 6
mzywfyj_translate(trans_text, trans_from, trans_to, trans_url)
# 汉文 -> 蒙古文
trans_text = '你好'
trans_from = 'zh'
trans_to = 'mo'
trans_url = 0
mzywfyj_translate(trans_text, trans_from, trans_to, trans_url)
# 蒙古文 -> 汉文
trans_text = '︽ ᠰᠠᠢᠢᠨ ᠪᠠᠶᠢᠨᠠ ᠤᠣ ︖ '
trans_from = 'mo'
trans_to = 'zh'
trans_url = 5
mzywfyj_translate(trans_text, trans_from, trans_to, trans_url)
C#版
///
/// 翻译
///
/// 需要翻译的内容
/// 翻译成功返回翻译结果,翻译失败返回错误信息
/// 翻译成功失败,true-成功;false-失败
public bool Translate(string transText, string from, string to, string url, out string transResult)
{
transResult = "";
string requestUrl = "http://www.mzywfy.org.cn/ajaxservlet";
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUrl);
request.Timeout = 5000;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36";
request.Accept = "application/json, text/javascript, */*; q=0.01";
request.Referer = "http://www.mzywfy.org.cn/translate.jsp";
string send = string.Format("src_text={0}&from={1}&to={2}&url={3}", transText, from, to, url);
byte[] postData = Encoding.UTF8.GetBytes(send);
request.ContentLength = postData.Length;
Stream stream = request.GetRequestStream();
stream.Write(postData, 0, postData.Length);
stream.Close();
stream.Dispose();
bool success = false;
using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse())
using (StreamReader responseStream = new StreamReader(webResponse.GetResponseStream()))
{
if (webResponse.StatusCode == HttpStatusCode.OK)
{
success = true;
string retJson = responseStream.ReadToEnd();
JObject jo = (JObject)JsonConvert.DeserializeObject(retJson); // 需要引用 Newtonsoft.Json.dll
transResult = jo["tgt_text"].ToString().Trim();
}
}
return success;
}
catch (Exception ex)
{
transResult = ex.ToString();
return false;
}
}
python维语翻译中文_维文、藏文等特殊语种翻译相关推荐
- python维语翻译中文_维族语言在线翻译
展开全部 中文:"请保持环境卫生": 维族语:"مۇھىت تازىلىقىنى ساقلاڭ". 扩展资料 以上翻3231313335323631343130 ...
- 维汉在线翻译电脑版_支持汉语维吾尔语互译_维文翻译汉语和维语学习
维汉在线翻译电脑版,现在可以免费试用,维文智能翻译和文字识别可以帮助我们工作还有学习维语. 可以支持维汉互译,即维语翻译成汉语,汉语翻译成维语,还可以把英语也翻译成维语等等. 现在看下它的文字识别功能 ...
- python word 合并单元格_在word文档选项卡中检测合并单元格
一点背景 我有一个软件规范,我需要以表格的形式解析需求.它们的格式也不总是相同的.我继承了一个python脚本,它使用win32com解析word文档,然后openpyxl将需求导出到excel文件, ...
- python读取文件名有中文_[请教]python的中文文件名处理
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 3 楼的可以用 sys.getfilesystemencoding 检测,但由於文件系统的差异,文件名 100% 无损转还是不太可,比如很多 *nix 的 ...
- 为什么python用不了中文_【TK例子】为什么不显示中文
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 代码如下: #!/usr/bin/env python #codec='utf-8' import os from time import sleep f ...
- python编译器如何设置中文_如何使setup.py test使用特定的fortran编译器?
我正在尝试测试一个包含一些f90文件的package.如果我构建或安装并指定fortran编译器,它可以正常工作.但是,当我尝试测试时,会出现以下错误:C:\Users\jsalvatier\work ...
- python不能安装在中文_无法在Python上安装表
我一直收到错误Command "python setup.py egg_info" failed with error code 1 in C:\Users\HP\AppData\ ...
- python随机森林特征重要性_基于随机森林识别特征重要性(翻译)
博主Slav Ivanov 的文章<Identifying churn drivers with Random Forests >部分内容翻译.博主有一款自己的产品RetainKit,用A ...
- python判断字符串包含中文_高手接招! 小应用 用python3判断一个字符串是不是中文组成的...
在python3中,str默认是unicode编码 用 ord() 函数判断单个字符的unicode编码是否大于255即可. 一般来说,中文常用字的范围是:[\u4e00-\u9fa5] 准确点判断中 ...
最新文章
- matlab欧拉迭代,matlab机械臂正逆运动学求解问题,使用牛顿-欧拉迭代算法
- Docker系列 三. Docker安装mysql
- 适用于 Python 的 10 大最佳 IDE,你 Pick 哪一款?
- redis之sorted sets类型及操作
- T-SQL with as 关键字
- matlab中的logspace,matlab中的logspace(a,b,n)究竟怎么理解,看下例题,谁能详细解给我看...
- 最近让我焦灼的四个问题
- php图像生成和处理,PHP的gd库(图像生成和处理)的应用
- 绿米开关如何重置_绿米智能开关评测
- (后台)Openbravo如何实现业务事件监听处理
- 灰色关联分析法详细步骤解释
- EFF 测试 Privacy Badger,禁止第三方跟踪
- nginx配置修改使404,500,502等nginx错误输出前端可识别json
- 微信公众号wx.getlocation
- 容器编排工具—Kubernetes
- 第 09 章 基于特征匹配的英文印刷字符识别 MATLAB深度学习实战案例
- python智能化办公_Python开发利器PyCharm新版预告!全新的界面以及更智能化的编辑器...
- 安卓开发设置软件媒体声音
- 管理员界面 用例, 功能说明书, 技术说明书
- Fiddler win10 突然无法 抓包 解决方法