python调用百度API实现中英文互译

import http
import hashlib
import urllib.request
import random
import json
import csv
import pandas as pd

def nodes_name_translate(node_name):
    appid = ''  # 自己申请appid和secretKey
    secretKey = ''
    httpClient = None
    myurl = '/api/trans/vip/translate'
    q = node_name  # 文本文件中每一行作为一个翻译源
    fromLang = 'auto'  # 自动
    # 英文en 中文 zh
    toLang = 'zh'
    salt = random.randint(32768, 65536)
    sign = appid + q + str(salt) + secretKey
    sign = sign.encode('UTF-8')
    m1 = hashlib.md5()
    m1.update(sign)
    sign = m1.hexdigest()
    myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(
        q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign
    httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
    httpClient.request('GET', myurl)  
    response = httpClient.getresponse()
    html = response.read()
    target2 = json.loads(html)
    src = target2['trans_result'][0]['dst']  
    outStr = src
    return outStr
  

# 读需要被翻译的文件
translate_list_path = r'放需要翻译的文件'
translate_list = pd.read_csv(translate_list_path, header=None,encoding='UTF-8')[0].values.tolist()

translated_file_dict = []
for index,translate in enumerate(translate_list):
    try:
        node_translate = nodes_name_translate(translate)
        translated_file_dict.append([translate, node_translate])
        print("翻译第%d行"%(index + 1),translate, node_translate)
    except BaseException:
        continue

print(translated_file_dict)

# 存翻译好的文件
with open(r'存放翻译好的文件', 'w', encoding='UTF-8', newline='') as csv_write:
    for translated_node in translated_file_dict:
        csv.writer(csv_write).writerow([translated_node[0], translated_node[1]])






  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值