多语言文本翻译

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

# 单的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)

猜你喜欢

转载自blog.csdn.net/qq_41900846/article/details/128083701