效果展示

功能介绍
- 本程序是控制台程序
- 本程序调用了百度api
- 中–>英
- 其他语言–>中
代码实现
import requests
import json
import langid
class FanYi(object):
#query_string:需要翻译的内容
#lang:原语言
#aimlang:目标语言
#headers:请求头
def __init__(self,lang,aimlang,query_string):
self.url="https://fanyi.baidu.com/transapi" #百度翻译api
self.query_string=query_string
self.lang=lang
self.aimlang = aimlang
self.headers ={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}
#请求内容
def get_post_data(self):
post_data={
"from": self.lang,
"to": self.aimlang,
"query": self.query_string
}
return post_data
#发送请求,获取请求
def parse_url(self,url,data):
response=requests.post(url,data=data,headers=self.headers)
return response.content.decode()
#解析请求返回的json串
def get_data(self,json_str):
data_dict=json.loads(json_str)
if(list(data_dict.keys())[0]=="error"):
print("~~~~出错啦!~~~~\n错误信息:{}\n".format(data_dict["msg"]))
else:
Translated_words = data_dict["data"][0]["dst"]
print("----翻译的内容----\n{}\n\n####翻译的结果####\n{}\n".format(self.query_string,Translated_words))
#功能实现
def run(self):
post_data = self.get_post_data()
json_str = self.parse_url(self.url, post_data)
self.get_data(json_str)
if __name__ == '__main__':
while True:
Unknown_words= input("请输入需要翻译的内容:")
#langid.classify()输出探测出的所有语言类型及其所占的比例
langinfo=langid.classify(Unknown_words)
#如果被译语言是中文,则目标语言是英文
#否则不管被译语言是什么,目标语言都是中文
if(langinfo[0]=="zh"):
fanyi = FanYi("zh","en",Unknown_words)
else:
fanyi = FanYi(langinfo[0],"zh",Unknown_words)
fanyi.run()
实现语种的识别