概述

        在工作上需要各个国家语言的翻译方面很多地方用的上。

获取API权限:

        登录百度账号,在个人信息界面,包括修改密码、绑定手机、身份人证等

https://api.fanyi.baidu.com/api/trans/product/desktop?req=developer

百度翻译开放平台

在开发者中心:需要开通个人账号,在我的服务选项,选择通用文本翻译

申请好后,会有以下信息。 

 

具体文档:通用翻译API接入文档

https://fanyi-api.baidu.com/doc/21

一、code 分别有三个模块Translater.py、APIConfig.py、Config_trans_lang.py

1、Translater.py代码

import hashlib

import random

import requests

from APIConfig import APIConfig

class Translater:

def __init__(self, config: APIConfig, from_lang: str, to_lang: str):

self.__config = config # API配置

self.__from_lang = from_lang # 原语言,可为auto

self.__to_lang = to_lang # 目标语言,可为auto

# 按百度API要求进行随机数生成

def __make_salt(self):

return random.randint(23212, 65536)

# 按百度API要求连接要加密的文本

def __make_md5_text(self, query, salt):

return "{}{}{}{}".format(

self.__config.appid,

query,

salt,

self.__config.key

)

# 按百度API要求进行MD5加密

def __make_signture(self, str, salt):

md5 = hashlib.md5()

md5.update(self.__make_md5_text(str, salt).encode('utf-8'))

return md5.hexdigest()

def __get_token(self, cookie):

res = [2]

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',

'Referer': 'https://fanyi.baidu.com/',

'Cookie': cookie

}

token_url = "https://fanyi.baidu.com/"

session = requests.Session()

session.headers = headers

gtk = ''

# get token

for i in range(3):

response = session.get(token_url)

token = re.findall("token: '(.*?)'", response.text)[0]

gtk = re.findall('window.gtk = "(.*?)"', response.text)[0]

res[0] = token

res[1] = gtk

return res

# 发送post请求调用百度API

def __post(self, query: str):

timeout = 6000 #请求超时时间

salt = self.__make_salt()

sign = self.__make_signture(query, str(salt))

headers = {

"Content-Type": "application/x-www-form-urlencoded"

}

form_data = {

"appid": self.__config.appid,

"q": query,

"from": self.__from_lang,

"to": self.__to_lang,

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: