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

百度翻译,官方给的是python2,下面是我改过的自己的python3:实测可用,已经批量翻译了一些英文。

'''
import urllib.request
import urllib.parse
import json

def translate(strInput):
	#content=input("=====请输入您要翻译的内容:=====\n")
	content=strInput
	url='http://fanyi.baidu.com/'
	data={}
	data['from']='zh'
	data['to']='en'
	data['transtype']='translang'
	data['simple_means_flag']='3'
	data['query']=content
	data=urllib.parse.urlencode(data).encode('utf-8')
	response=urllib.request.urlopen(url,data)
	html=response.read().decode('utf-8')
	target=json.loads(html)
	print("翻译结果为:%s"%(target['trans_result']['data'][0]['dst']))
	return
	
'''
	
# coding: utf8
'''
    @Author: LCY
    
  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用 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) ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值