python实现批量翻译
发布时间
阅读量:
阅读量
python实现批量翻译(英译中),使用百度翻译api 。
import compile_error
data = compile_error.new_compile_data # 获取数据,这里使用自己的数据
data = list(data)
trans_data = [] # 存放翻译后的数据
''' ======================= 百度翻译api ==========================='''
import random
from hashlib import md5
import time
import requests
#自己申请appid和appkey
appid = '***'
appkey = '***'
from_lang = 'en' #英文
to_lang = 'zh' #中文
endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path
# query = 'i love you man.'
fout = open(r'zh.txt', 'w') # 以写的方式打开输出文件,将每次翻译的数据放入文件中
def make_md5(s, encoding='utf-8'):
return md5(s.encode(encoding)).hexdigest()
for new_data in data:
query = new_data
salt = random.randint(32768, 65536)
sign = make_md5(appid + query + str(salt) + appkey)
headers = {'Content-Type': 'applicantion/x-www-form-urlencoded'}
payload = {'appid': appid,
'q': query,
'from': from_lang,
'to': to_lang,
'salt': salt,
'sign': sign}
r = requests.post(url, params=payload, headers=headers)
result = r.json()
for res in result['trans_result']:
print(res['dst'])
trans_data.append(res['dst'])
fout.write(res['dst'] + '\n')
time.sleep(1) # 受免费用户限制,睡眠1秒
print(trans_data)
fout.close()
全部评论 (0)
还没有任何评论哟~
