当前位置:   article > 正文

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

翻译接口
  1. import tkinter as tk
  2. import urllib.request
  3. import urllib.parse
  4. import json
  5. from tkinter import *
  6. # 定义翻译函数
  7. def translate():
  8. # 获取输入文本
  9. text = input_text.get('1.0', 'end').strip()#strp()去除空格
  10. # 判断文本是否为空
  11. if not text:
  12. output_text.delete('1.0', 'end')
  13. return
  14. """这段代码是一个Python程序,主要是向百度翻译的API发送请求,并获取响应数据。具体意思如下:
  15. 1. 定义了一个变量url,存储了要访问的API地址。
  16. 2. 定义了一个变量data,存储了要发送的数据。其中,'kw'是API要求的参数名,text是要翻译的文本内容。
  17. 3. 对data进行编码,将其转换成二进制格式,以便于发送请求。
  18. 4. 定义了一个变量headers,存储了请求头信息。其中,'User-Agent'是告诉API这个请求是从什么设备、什么浏览器发出的。
  19. 5. 创建了一个Request对象req,将url、data和headers作为参数传递进去。
  20. 6. 使用urllib.request.urlopen()函数发送请求,并将响应数据存储在response变量中。
  21. 7. 读取响应数据,使用decode()函数将其从二进制格式转换成字符串格式,并存储在变量html中。"""
  22. # 调用百度翻译API接口
  23. url = 'https://fanyi.baidu.com/sug'
  24. data = {'kw': text}
  25. """创建一个HTTP请求对象`req`,其中包括URL链接`url`、数据`data`和请求头`headers`。`headers`是一个字典,其中`User-Agent`键指定了请求的浏览器代理,这里使用的是Mozilla/5.0。这个请求对象可以被传递给urllib.request.urlopen()函数来发送请求并获取响应。"""
  26. data = urllib.parse.urlencode(data).encode('utf-8')
  27. headers = {'User-Agent': 'Mozilla/5.0'}
  28. req = urllib.request.Request(url, data, headers)
  29. response = urllib.request.urlopen(req)
  30. html = response.read().decode('utf-8')
  31. # 解析返回的JSON数据
  32. """该代码先将一个名为html的JSON字符串解析为Python对象
  33. 然后从该对象中获取'data'键的值,该值应该是一个列表。接着,该代码从该列表中获取第一个元素
  34. 然后从该元素中获取'v'键的值,存储在名为result的变量中
  35. 因此,result变量是JSON数据中'data'列表的第一个元素的'v'键的值。"""
  36. data = json.loads(html)
  37. result = data['data'][0]['v']
  38. # 输出翻译结果
  39. output_text.delete('1.0', 'end')
  40. output_text.insert('end', result)
  41. #定义清空函数
  42. def clear():
  43. #删除文本内容
  44. input_text.delete("1.0",tk.END)
  45. output_text.delete("1.0",tk.END)
  46. # 创建窗口
  47. window = tk.Tk()
  48. window.title('百度翻译')
  49. window.geometry('800x400')
  50. # 创建输入框和输出框
  51. input_text = tk.Text(window, font=('Arial', 14), height=1,width=25)
  52. lable=tk.Label(window,text="请输入中文单词")
  53. input_text.pack(pady=10)
  54. output_text = tk.Text(window, font=('Arial', 14), height=1,width=25)
  55. lable1=tk.Label(window,text="翻译结果")
  56. output_text.pack(pady=10)
  57. lable.place(x=100,y=10)
  58. lable1.place(x=125,y=60)
  59. bm=PhotoImage(file=r"C:\Users\86135\Pictures\phonto\6af9e7ccd2094b8fadea2fa063c5692c (1).gif")
  60. lab1=Label(window,image=bm,compound="center")
  61. lab1.bm=bm
  62. lab1.place(x=50 ,y=150)
  63. f=Frame(window,height=200,width=200)
  64. lab2=Label(f,text="欢迎使用百度翻译",font=14)
  65. x=0
  66. def foo():
  67. global x
  68. x=x+10
  69. if x>200:
  70. x=0
  71. lab2.place(x=x,y=0)
  72. f.after(500,foo)
  73. f.pack()
  74. f.after(500,foo)
  75. # 创建翻译键
  76. translate_button = tk.Button(window, text='翻译', font=('Arial', 14), command=translate)
  77. translate_button.place(x=350,y=200)
  78. #创建清空键
  79. clear_button = tk.Button(window,text="清空",font=("Arial",14),command=clear)
  80. clear_button.place(x=410,y=200)
  81. # 运行窗口
  82. window.mainloop()

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

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

百度翻译开放平台

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

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

点击开发者信息

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

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

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

 完美收工,下期见

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/352865
推荐阅读
相关标签
  

闽ICP备14008679号