当前位置 : 主页 > 编程语言 > python >

python 调用百度翻译接口,使用flask 提供接口,实现线上翻译功能

来源:互联网 收集:自由互联 发布时间:2022-09-02
#conding=utf-8 from flask import Flask, redirect, url_for, request, render_template, send_from_directory import json import requests import random import urllib import hashlib import time app = Flask(__name__) @app.route('/',methods=["POST"
#conding=utf-8
from flask import Flask, redirect, url_for, request, render_template, send_from_directory
import json
import requests
import random
import urllib
import hashlib
import time
app = Flask(__name__)

@app.route('/',methods=["POST"])
def fanyi_interface():
src = request.form

from_lang = src["from_lang"]
to_lang = src["to_lang"]
msg = src["msg"]
res = baidu_t(from_lang,to_lang,msg)
return json.dumps(res)

LAST_TIME = 0
def baidu_t(from_lang,to_lang,msg):
global LAST_TIME
# Control QPS=1
if round(time.time()) - LAST_TIME == 1:
time.sleep(1)
appid = '******'
secret_key = '******'
url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
from_lang = from_lang # 原文语种
to_lang = to_lang # 译文语种
salt = random.randint(32768, 65536)
sign = appid + msg + str(salt) + secret_key
sign = hashlib.md5(sign.encode()).hexdigest()

data = {
"from":from_lang,
"to": to_lang,
"q": msg,
"appid":appid,
"salt":salt,
"sign": sign,

}
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
LAST_TIME = round(time.time())
res = requests.post(url=url,data=data,headers=headers)
print(res.json())
return res.json()

if __name__ == '__main__':
# while True:
# main()
# language is
# 自动检测 auto
# 中文 zh
# 英语 en
# 繁体中文 cht
# baidu_t(from_lang="zh",to_lang="cht",msg="公鸡")

app.run(debug=True)

  



上一篇:python 三元运算
下一篇:没有了
网友评论