闲来无事,用python写个百度翻译

思路

1.获取用户输入的欲翻译单词
2.拼接url
3.解析url内的json数据
4.打印结果内容

第一步 - 获取用户输入的欲翻译单词

使用简单的input()即可
定义一个变量

1
word = input('输入欲翻译单词')

第二步 - 拼接url

拼接url前先要知道url是什么格式
通过百度翻译的文档可以得知

公式即为

1
appid + q + salt + 秘钥

得知公式我们就定义几个变量
appid,salt,秘钥 、由于我们之前定义了q(word),所以这里就不再设定变量了
随机数可以用python内置的random
random食用方法

1
2
import random # 调用random
Random = random.randint(最小值,最大值)

然后生成待加密sign
sign公式为 :变量+APPID+需译单词+随机数+平台分配秘钥
生成之后使用md5加密
由于python3中删除了MD5模块,所以使用hashlib模块进行MD5的加密

生成MD5之后就可以拼接请求URL了

解析json

1
2
3
4
5
6
7
8
9
10
11
12
13
# 获取Json内容
def get_record(url):
resp = urllib.request.urlopen(url)
ele_json = json.loads(resp.read())
return ele_json

if __name__ == '__main__':
jsons = get_record(str(Api_Url))
print_json = jsons['trans_result'][0]["dst"]
print('"' + word + '"' + " => " + '"' + print_json + '"')
# 输出语言信息
print_json_ini_lang = jsons['from']
# 源语言

然后打印即可
还可以使用while循环来重复过程

附赠源码一枚
https://cdn.supereq.cn/static/translate.py