Advertisement

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)

还没有任何评论哟~