就是使用requests库向翻译平台服务器发送数据,获取翻译的结果然后返回,直接就实现翻译的功能了,调用 类中的EnglishToChinese接口或ChineseToEnglish接口对字符串进行翻译返回结果,
更复杂一些的翻译信息查看类中的Complex_result成员变量,信息更加详细,对单词有更多的解释,main函数中写了接口的用法,good,直接上代码:
import requests
class MiniTranslator:
"""
仅支持 英译中 和 中译英
调用 EnglishToChinese 英译中
调用 ChineseToEnglish 中译英
返回 简单结果
复杂结果为 Complex_result
#############################
——Complex_result 为对翻译的更详细的解释,是一个列表
"""
def __init__(self):
self.__url_translate360 = "https://fanyi.so.com/index/search"
self.Simple_result = "" #简单的结果
self.Complex_result = "" #复杂的结果
def EnglishToChinese(self, EnglishStr):#将英文字符串转换为中文字符串
return self.__Trans(EnglishStr, isEnglish=1)
def ChineseToEnglish(self, ChineseStr):#将中文字符串转换为英文字符串
return self.__Trans(ChineseStr, isEnglish=0)
def __Trans(self, english_str, isEnglish):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Pro": "fanyi",
"Cookie": "QiHooGUID=EC3121A108394278E27821365CCFC6FC.1682857780944; __huid=11Q%2F5CSRGpXSX6B47c6FO48D7JZlaeOMCjKwOkY3ZyM50%3D; __guid=65846823.3385458555896782300.1686964485152.9448; __DC_gid=9114931.166694848.1682857780178.1706836320307.26; __gid=9114931.166694848.1682857780178.1708494603793.158; Q_UDID=d6507d47-53f0-e65e-f0d7-4b2e411bce64; count=2"
}
params = {
"eng": "",
"validate": "",
"ignore_trans": 0,
"query": ""
}
#设置要转换的文字是否为英语
params["eng"] = isEnglish
#设置要转换的文字
params["query"] = english_str
#请求数据
response = requests.post(self.__url_translate360, headers=headers, params=params)
#判断请求成功与否
if response.status_code != 200:
return None
#获取响应的json数据
json_data = response.json()
#存储简单结果
self.Simple_result = json_data["data"]["fanyi"]
if "translation" in json_data["data"]["explain"]:
self.Complex_result = json_data["data"]["explain"]["translation"]
else:
self.Complex_result = ""
#返回翻译的简单结果
return self.Simple_result
# 测试代码(使用案例)很简单直接用就行
if __name__ == "__main__":
translator = MiniTranslator()
while 1:
input_word = input("输入英文:")
simple = translator.EnglishToChinese(input_word)
complex = translator.Complex_result
print("输出结果:")
print(simple)
for n in complex:
print(n)
print("-----------------------------------")
input_word = input("输入中文:")
simple = translator.ChineseToEnglish(input_word)
complex = translator.Complex_result
print("输出结果:")
print(simple)
for n in complex:
print(n)
print("-----------------------------------")