模块三 第一周 作业二 百度翻译

1 问题描述

利用百度翻译的接口,制作一个中译英翻译小工具。

在这里插入图片描述

2 解题提示

在百度翻译之中,输入单词,此时接口,找到你需要的接口信息

3 评分标准

  1. 找到翻译的HTTP接口规则 10分
  2. 得到服务器响应回来的结果数据,并做好处理,得到翻译的结果 10分
  3. 代码注释,规范10分

4 要点解析

4.1 接口信息的查找

在这里插入图片描述

4.2 json数据类型

json模块提供了四个功能:dumpsdumploadsload,用于字符串 和 python数据类型间进行转换

dump和load带有写入和读取的操作【处理的是json文件】,dumps和loads【处理的是字符串】

import json

# dumps
# 定义数据
data_dict = {"key1": "value1", "key2": "value2", "key3": "value3"}
# 转化为json类型
json1 = json.dumps(data_dict, indent=4)
print(json1)


# loads
data_str = '{"key1": "value1", "key2": "value2", "key3": "value3"}'
# 转化为Python可识别类型
data_dict = json.loads(data_str)
print(data_dict)



# dump
data = {'str3': 'xyz', 'str2': 'efgh', 'str1': 'abcd'}
# 打开文件
f = open('data.txt','w',encoding='utf-8')
# 将data转换为字符串,并写入
json.dump(data,f,indent=4)


# load
# 打开文件
with open('data.txt', 'r') as f:
    # 读取,并把字符类型转换为 Python可识别类型
    d2 = json.load(f)
    print(d2)

5 代码实现

import urllib.request as ur
import urllib.parse as up
import json

# 输入你要翻译的单词
kw=(input('请输入翻译的内容:'))

data={
    'kw':kw
}
#将data作为URL查询字符串
data_url=up.urlencode(data)
#封装Request对象
request = ur.Request(
    url = 'https://fanyi.baidu.com/sug',
    data = data_url.encode('utf-8')#把url编码转成字节
)
# 获得查询结果
response = ur.urlopen(request).read()
#json对象转化为python对象
ret = json.loads(response)
print(ret)

# 增加代码健硕性
try:
    for i in ret['data']:
        keys = i['k']
        values = i['v']
        print(keys,values)
except:
    print('未查到相关结果,请规范您的输入!')
发布了161 篇原创文章 · 获赞 37 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/ybw_2569/article/details/104639397