使用Python调用搭建的翻译API

460 字
2 分钟
使用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,结果应该是这样的:

Untitled
Untitled

获取翻译结果#

我们将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界面
  • 判断传入是否正确
  • ……

你可以自己去尝试,这有无数种可能!

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

使用Python调用搭建的翻译API
https://blog.linyunlink.top/posts/240707/
作者
雪野和花
发布于
2024-07-07
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
雪野和花
Hello, I'm Yukino Waka.
公告
欢迎来到我的博客鸭!本人是一名高中生,博客更新不太频繁,多请见谅!qwq
分类
标签
最新动态
站点统计
文章
25
分类
8
标签
24
总字数
20,083
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.15.3
文章许可
CC BY-NC-SA 4.0