用python写调用百度翻译api的窗口
时间: 2023-06-11 18:10:31 浏览: 168
可以使用 Python 的 tkinter 模块来创建一个简单的窗口,并使用百度翻译 API 进行翻译。以下是一个示例代码:
```python
import tkinter as tk
import requests
import json
def translate():
# 获取输入的文本
text = input_text.get("1.0", "end-1c")
# 发送请求并获取翻译结果
url = "https://fanyi.baidu.com/sug"
data = {"kw": text}
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.post(url, data=data, headers=headers)
result = json.loads(response.text)["data"][0]["v"]
# 显示翻译结果
output_text.delete("1.0", "end")
output_text.insert("1.0", result)
# 创建窗口
window = tk.Tk()
window.title("百度翻译")
window.geometry("400x300")
# 创建输入框和按钮
input_text = tk.Text(window, height=10)
input_text.pack(fill=tk.BOTH, padx=5, pady=5)
translate_button = tk.Button(window, text="翻译", command=translate)
translate_button.pack(fill=tk.BOTH, padx=5, pady=5)
# 创建输出框
output_text = tk.Text(window, height=10)
output_text.pack(fill=tk.BOTH, padx=5, pady=5)
window.mainloop()
```
在这个示例中,我们使用了 requests 库来发送 HTTP 请求,并使用 json 库来解析响应结果。在 translate 函数中,我们首先获取输入框中的文本,然后将其作为参数发送 POST 请求到百度翻译 API。最后,我们从响应结果中提取翻译结果,并将其显示在输出框中。
注意:在使用百度翻译 API 之前,你需要先注册一个百度开发者账号,并创建一个翻译 API 的应用。获取应用的 API Key 和 Secret Key 后,可以使用以下代码设置认证信息:
```python
import hashlib
import random
app_id = "your_app_id"
api_key = "your_api_key"
secret_key = "your_secret_key"
salt = str(random.randint(10000, 99999))
sign_str = api_key + text + salt + secret_key
sign = hashlib.md5(sign_str.encode()).hexdigest()
params = {
"q": text,
"from": "auto",
"to": "zh",
"appid": app_id,
"salt": salt,
"sign": sign
}
response = requests.get(url, params=params)
```
阅读全文