python实现在线翻译功能实现在线翻译功能
对于需要大量翻译的数据,人工翻译太慢,此时需要使用软件进行批量翻译。
1.使用使用360的翻译的翻译
def fanyi_word_cn(string):
url="https://fanyi.so.com/index/search"
#db_path = './db/tasks.db'
Form_Data= {}
#这里输入要翻译的英文
Form_Data['query']= string
Form_Data['eng']= '1'
#用urlencode把字典变成字符串,#服务器不接受字典,只接受字符串和二进制
data= parse.urlencode(Form_Data).encode('utf-8')
#改成服务器可识别的数据后,请求,获取回应数据
response= request.urlopen(url, data)
html= response.read().decode("utf-8")#解码方式
#java中的对象(集合)和数组(元素为集合),loads可转Python字典
result= json.loads(html)
#字典调取键名data下的键名fanyi,获取其值
translate_result= result["data"]["fanyi"] #print(translate_result)
return translate_result
2.使用使用Google自带的自带的API来翻译来翻译
注意,需要安装API模块即可。
pip install translator
#google api, per 1000 words everyday
def translate_cn_api(content):
translator= Translator(to_lang="zh")
translation = translator.translate(content)
return translation
3.使用使用Google翻译来做,是由于翻译来做,是由于Google提供的提供的API有字节限制,每天只能翻译有字节限制,每天只能翻译1000字。字。
备注:环境准备
3.1 java环境
3.2 安装execjs模块
pip install PyExecJS
3.3 两个实现模块
HandleJs.py
#coding=utf-8
import execjs
class Py4Js():
def __init__(self):
self.ctx = execjs.compile("""
function TL(a) {
var k = "";
var b = 406644;
var b1 = 3293161072;
var jd = ".";