1.使用requests库向百度翻译发送post请求,实现翻译功能
python -m pip install requests安装requests库
使用到的函数:
- post(url: str | bytes, data: _Data | None = ...,headers: _HeadersMapping | None = ..., .),post()发送一个POST请求
2.用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库
python -m pip install easygui安装easygui库
使用到的函数:
- msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None),msgbox() 显示一个消息和提供一个"OK"按钮,你可以指定任意的消息和标题
- enterbox(msg: str = "Enter something.", title: str = " ", default: str = "", strip: bool = True, image: Any | None = None, root: Any | None = None),enterbox()显示一个用户可以在其中输入文本的框。您可以选择指定一些默认文本,这些文本将在显示时出现在输入框中。
3.测试
4.源代码
import requests
import easygui as g
# g.msgbox('hello,world')
#使用百度翻译的url
post_url = 'https://fanyi.baidu.com/sug'
#构造ua头部
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) Chrome/100.0.4896.127'}
#获取需要被翻译的内容
information = g.enterbox('请输入需要翻译的内容',title="小翻译")
# 构造请求的数据,把需要被翻译的内容加到post请求中
data_ph = {'kw':information}
response_ph = requests.post(url=post_url,data=data_ph,headers=headers)
#获取翻译结果
contens = '原文:' + response_ph.json()['data'][0]['k'] +'\n翻译:' + response_ph.json()['data'][0]['v']
#将翻译结果展示给用户
g.msgbox(msg=contens,title="翻译结果",ok_button="好的")
print('翻译结束')