美文网首页
零基础用Python打造Android字符串资源翻译器(二):翻

零基础用Python打造Android字符串资源翻译器(二):翻

作者: itfitness | 来源:发表于2020-12-28 21:46 被阅读0次

目录

前言

今天主要是使用Python调用百度的翻译API实现翻译对应的字符串,效果如下。

效果展示

这里我翻译的是中国,目标语言是英语。


实现步骤

1.观看文档熟悉请求规则
百度翻译API文档


2.下载需要的库
这是我使用的一些库:
import requests  # 网络请求
import hashlib  # MD5加密
import time  # 用于获取时间戳
import json  # Json操作

以requests库为例,这是下载方法:https://www.cnblogs.com/xiaokuangnvhai/p/10904216.html
3.代码编写
这里的MD5加密和json解析以及网络请求的使用我都是直接百度找的案例粘贴过来的,这些也没必要记,主要是功能的实现。

import requests  # 网络请求
import hashlib  # MD5加密
import time  # 用于获取时间戳
import json  # Json操作

APP_ID = "你的百度翻译APPID"
KEY = "你的百度翻译密钥"


# 获取MD5加密的字符串
def get_md5_str(source_key):
    md5 = hashlib.md5()
    md5.update(source_key.encode("utf-8"))
    return md5.hexdigest()


# 获取请求的地址
def get_request_url(source_str, source_language, dst_language):
    current_time = str(time.time())
    source_key = APP_ID + source_str + current_time + KEY
    md5_key = get_md5_str(source_key)
    url = "http://api.fanyi.baidu.com/api/trans/vip/translate?" \
          "q=" + source_str + "&from=" + source_language + "&to=" + dst_language + "&appid=" + APP_ID \
          + "&salt=" + current_time + "&sign=" + md5_key
    return url


# 格式化返回的数据
def format_data(response_str):
    # 将返回的json数据转换为字典
    json_data = json.loads(response_str)
    # 取出翻译后的目标语言
    return json_data['trans_result'][0]['dst']


# 翻译
def translate(source_str, source_language, dst_language):
    # 构建请求的Url
    url = get_request_url(source_str, source_language, dst_language)
    # 进行请求
    response = requests.get(url=url)
    # 对返回的数据进行格式化
    translate_str = format_data(response.text)
    return translate_str


if __name__ == '__main__':
    print(translate("中国", "zh", "en"))

相关文章

网友评论

      本文标题:零基础用Python打造Android字符串资源翻译器(二):翻

      本文链接:https://www.haomeiwen.com/subject/betxoktx.html