多语言文本翻译

 多语言文本翻译,自定义,百度接口

# 单的requests库进行对应请求,post,带上参数data
import requests
import json
import random
import hashlib
import urllib.parse
import http.client
import urllib
import time


def free_translate():
    URL = "https://fanyi.baidu.com/sug"
    kw = """
    天才枪手与僵尸的对决!
    """
    DATA = {'kw': "yes"}
    # 中英文
    response = requests.post(URL,data=DATA).content.decode("utf-8")
    myjson = json.loads(response)
    print(myjson)
    # print("翻译结果:", myjson['data'][0]['v'])


def free_translate2():
    from baidu import translate
    str = '컬러 바이 넘버'
    result = translate(str)
    print(result)


def translate(text):
    content = text.split()
    if len(content) < 2001:
        return translate_by_baidu(text)
    else:
        result = ''
        i = 0
        while i < len(content):
            result += translate_by_baidu(' '.join(content[i:i + 2000]))
            i += 2000
        return result


def translate_by_baidu_bak(word):
    """
    请求地址:https://fanyi-api.baidu.com/api/trans/vip/translate
    appid和secretkey在这个网页查看:http://api.fanyi.baidu.com/manage/developer
    """
    src = 'auto'
    # 翻译的源语言,设置为自动
    obj = 'zh'
    # 翻译的目标语言
    appid = ''
    # 这里输入你注册后得到的appid
    secretKey = ''
    # 这里输入你注册后得到的密匙
    myurl = "https://fanyi-api.baidu.com/api/trans/vip/translate"
    # 必须加上的头
    salt = random.randint(31256, 66253)
    # 产生随计数
    # word = input('请输入你要翻译的中文:')
    # 输入你要翻译的中文
    sign = appid + word + str(salt) + secretKey
    # 文档的step1拼接字符串
    m1 = hashlib.md5()
    m1.update(sign.encode('utf-8'))
    sign = m1.hexdigest()
    # 文档的step2计算签名
    myur1 = myurl + '?q=' + urllib.parse.quote(
        word) + '&from=' + src + '&to=' + obj + '&appid='+ appid + '&salt=' + str(salt) + '&sign=' + sign
    print(myur1)
    # 生成的url并打印出来
    english_data = requests.get(myur1)
    # 请求url
    js_data = json.loads(english_data.text)
    print('data加载:', js_data)
    # 下载json数据
    language_type = js_data['from']
    content = js_data['trans_result'][0]['dst']
    print('返回的json数据:', content)  # 提取json数据里面的dst
    print('返回的语言:', language_type)  # 提取json数据里面的dst
    return language_type, content


if __name__ == '__main__':
    txt = """
    commando boxing Pure hand to hand.
    """
    translate_by_baidu_bak(txt)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝叶斯巴达

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值