模塊三 第一週 作業二 百度翻譯

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('未查到相關結果,請規範您的輸入!')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章