python实现批量翻译

python实现批量翻译python实现批量翻译(英译中),使用百度翻译api。importcompile_errordata=compile_error.new_compile_data#获取数据,这里使用自己的数据data=list(data)trans_data=[]#存放翻译后的数据”’=======================百度翻译api===========================”’importrandomfromhashlibimport

大家好,欢迎来到IT知识分享网。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()


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21870.html

(0)
上一篇 2024-01-14 07:15
下一篇 2024-01-15 07:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信