使用Python调用搭建的翻译API
API的搭建参考这篇文章:使用Cloudflare Workers AI搭建属于你的翻译API
获取翻译API的URL
如果我们要翻译“Hello World”(en to zh),那我们就访问一个特定的URL,我们就是要通过Python自动获取这个URL,我们可以使用这个函数:
def get_url(
api_url: str,
text: str,
source_language: str,
target_language: str
):
"""
传入参数
: api_url 翻译api的URL 需要指明HTTP或者HTTPS 结尾加上"/"
传入示例:<https://translate.linyunlink.top/>
: text 你即将翻译的文本
: source_language 翻译文本源语言
: target_language 翻译文本靶语言
返回值
: url 翻译api的标准URL
注意
: 请保证传入参数的准确性,不要浪费api的资源
"""
url = api_url + "?text={}&source_language={}&target_language={}".format(
text, source_language, target_language
)
return url我们运行这个语句,就可以获得URL:
if __name__ == "__main__":
print(
get_url(
"<https://translate.linyunlink.top/>",
"Hello world!",
"en",
"zh"
)
)获取JSON
接着我们需要从得到的URL里面获取JSON,首先我们引入一下requests库:
import requests然后定义一个函数:
def get_translated_json(url: str):
"""
传入参数
: url 翻译api的标准URL
返回值
: translated_json api返回的JSON
"""
response = requests.get(url)
translated_json = response.content.decode()
return translated_json传入刚刚获取的url就可以了,不出意外的,我们打印一下translated_json,结果应该是这样的:

获取翻译结果
我们将JSON转换为字典,然后提取”response”对应的字典,然后提取这个字典里面”translated_text“对应的字符串。
先引入json库:
import json定义一个函数处理数据:
def get_translated_text(translated_json):
"""
传入参数
: translated_json api返回的JSON
返回值
: translated_text 翻译结果或者是错误信息
"""
response_dict = json.loads(translated_json)
translated_response = response_dict['response']
translated_text = translated_response['translated_text']
return translated_text返回值就是我们想要的结果:您好世界!
More?
UI界面
判断传入是否正确
……
你可以自己去尝试,这有无数种可能!
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 雪野和花
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果