多语言文本翻译,自定义,百度接口
# 单的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)