Python3调用百度翻译API,实现实时翻译

今天需要做一个翻译的工具,找到之前写过的有道翻译,已经不能用了,最后看到百度翻译还不错,不过官方版本是Python2,我需要Python3,就自己写了一个:


# coding: utf8
'''
    @Author: LCY
    @Contact: lchuanyong@126.com
    @blog: http://http://blog.csdn.net/lcyong_
    @Date: 2018-01-15
    @Time: 19:19
    说明: appid和secretKey为百度翻译文档中自带的,需要切换为自己的
           python2和python3部分库名称更改对应如下:
           httplib      ---->    http.client
           md5          ---->    hashlib.md5
           urllib.quote ---->    urllib.parse.quote
    官方链接:
           http://api.fanyi.baidu.com/api/trans/product/index
           
'''

import http.client
import hashlib
import json
import urllib
import random

def baidu_translate(content):
    appid = '20151113000005349'
    secretKey = 'osubCEzlGjzvw8qdQc41'
    httpClient = None
    myurl = '/ap
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
可以使用 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) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值