python3.7 百度网盘_python3.7.4 百度翻译api

import random

import hashlib

import http.client, urllib.parse

import json

class baidu_trans:

# 接口地址

domain = 'api.fanyi.baidu.com'

uri = "/api/trans/vip/translate"

# 密钥相关

app_id = ""

app_screct = ""

salt = random.randint(32768, 65536)

# 错误码

errors_code = {

"52000": "成功",

"52001": "请求超时",

"52002": "系统错误",

"52003": "未授权用户",

"54000": "必填参数为空",

"54001": "签名错误",

"54003": "访问频率受限",

"54004": "账户余额不足",

"54005": "长query请求频繁",

"58000": "客户端IP非法",

"58001": "译文语言方向不支持",

"58002": "服务当前已关闭",

"90107": "认证未通过或未生效",

}

# 生成签名

def getSign(self,context):

sign = self.app_id + context + str(self.salt) + self.app_screct

md5_obj = hashlib.md5()

md5_obj.update(sign.encode('utf-8'))

return md5_obj.hexdigest()

pass

# 将文本翻译为指定的语言

def trans(self,context):

httpClient = None

form = {

"q": context,

"from": "en",

"to": "zh",

"appid": self.app_id,

"salt": self.salt,

"sign": self.getSign(context),

}

try:

url = self.uri + '?appid=' + form["appid"] + '&q=' + urllib.parse.quote(form["q"]) + '&from=' + form["from"] + '&to=' + form["to"] + '&salt=' + str(form["salt"]) + '&sign=' + form['sign']

httpClient = http.client.HTTPConnection(self.domain)

httpClient.request('GET', url)

response = httpClient.getresponse()

result = json.loads(bytes.decode(response.read()))

if 'error_code' in result:

print('错误'+result["error_code"]+':' + self.errors_code[result["error_code"]] )

return result["trans_result"][0]['dst']

except Exception as e:

print(e)

finally:

if httpClient:

httpClient.close()

pass

pass

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值