如何实现百度翻译接口——不用申请API接口密钥

import tkinter as tk
import urllib.request
import urllib.parse
import json
from tkinter import *

# 定义翻译函数
def translate():
    # 获取输入文本
    text = input_text.get('1.0', 'end').strip()#strp()去除空格
    # 判断文本是否为空
    if not text:
        output_text.delete('1.0', 'end')
        return
    """这段代码是一个Python程序,主要是向百度翻译的API发送请求,并获取响应数据。具体意思如下:

    1. 定义了一个变量url,存储了要访问的API地址。

    2. 定义了一个变量data,存储了要发送的数据。其中,'kw'是API要求的参数名,text是要翻译的文本内容。

    3. 对data进行编码,将其转换成二进制格式,以便于发送请求。

    4. 定义了一个变量headers,存储了请求头信息。其中,'User-Agent'是告诉API这个请求是从什么设备、什么浏览器发出的。

    5. 创建了一个Request对象req,将url、data和headers作为参数传递进去。

    6. 使用urllib.request.urlopen()函数发送请求,并将响应数据存储在response变量中。

    7. 读取响应数据,使用decode()函数将其从二进制格式转换成字符串格式,并存储在变量html中。"""
    # 调用百度翻译API接口
    url = 'https://fanyi.baidu.com/sug'
    data = {'kw': text}
"""创建一个HTTP请求对象`req`,其中包括URL链接`url`、数据`data`和请求头`headers`。`headers`是一个字典,其中`User-Agent`键指定了请求的浏览器代理,这里使用的是Mozilla/5.0。这个请求对象可以被传递给urllib.request.urlopen()函数来发送请求并获取响应。"""
    data = urllib.parse.urlencode(data).encode('utf-8')
    headers = {'User-Agent': 'Mozilla/5.0'}
    req = urllib.request.Request(url, data, headers)
    response = urllib.request.urlopen(req)
    html = response.read().decode('utf-8')

    # 解析返回的JSON数据
    """该代码先将一个名为html的JSON字符串解析为Python对象
    然后从该对象中获取'data'键的值,该值应该是一个列表。接着,该代码从该列表中获取第一个元素
    然后从该元素中获取'v'键的值,存储在名为result的变量中
    因此,result变量是JSON数据中'data'列表的第一个元素的'v'键的值。"""
    data = json.loads(html)
    result = data['data'][0]['v']

    # 输出翻译结果
    output_text.delete('1.0', 'end')
    output_text.insert('end', result)
#定义清空函数
def clear():
    #删除文本内容
    input_text.delete("1.0",tk.END)
    output_text.delete("1.0",tk.END)
# 创建窗口
window = tk.Tk()
window.title('百度翻译')
window.geometry('800x400')

# 创建输入框和输出框
input_text = tk.Text(window, font=('Arial', 14), height=1,width=25)
lable=tk.Label(window,text="请输入中文单词")
input_text.pack(pady=10)

output_text = tk.Text(window, font=('Arial', 14), height=1,width=25)
lable1=tk.Label(window,text="翻译结果")
output_text.pack(pady=10)
lable.place(x=100,y=10)
lable1.place(x=125,y=60)
bm=PhotoImage(file=r"C:\Users\86135\Pictures\phonto\6af9e7ccd2094b8fadea2fa063c5692c (1).gif")
lab1=Label(window,image=bm,compound="center")
lab1.bm=bm
lab1.place(x=50 ,y=150)
f=Frame(window,height=200,width=200)
lab2=Label(f,text="欢迎使用百度翻译",font=14)
x=0
def foo():
    global x
    x=x+10
    if x>200:
        x=0
    lab2.place(x=x,y=0)
    f.after(500,foo)
f.pack()
f.after(500,foo)
# 创建翻译键
translate_button = tk.Button(window, text='翻译', font=('Arial', 14), command=translate)
translate_button.place(x=350,y=200)
#创建清空键
clear_button = tk.Button(window,text="清空",font=("Arial",14),command=clear)
clear_button.place(x=410,y=200)
# 运行窗口
window.mainloop()

这个代码是利用百度翻译的公共API接口,这个接口与需要申请的接口的区别是,这个接口的访问次数是有限制的,而自己申请的是没有任何限制

下面告诉大家如何注册百度翻译api接口的密钥

百度翻译开放平台

登录以上网站,点击右上方的注册即可

注册完后,鼠标移动到电话号码哪儿去

点击开发者信息

点开个人开发者——企业开发者要钱的,我这边不建议

 注册完后,出现这个页面即成功

最后返回首页,点击个人开发者信息,就会出现

 完美收工,下期见

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值