先上最后效果图片。
查单词的底层原理是用requests库模拟浏览器访问百度翻译。
我们先打开百度翻译的网页(这里),然后按F12打开开发人员工具。
先后向左边方框里输入a,b,c,然后按下小红点暂停。
在右边找到XHR请求,逐一查看后发现其中的三个sug里的Header(请求标头)里的表单数据分别记录了刚才输入的结果,Response(响应)里给出了翻译过后的单词。
因为Response里的信息是未经过编码的,所以我们可以查看Preview(预览)里的信息,Preview里的信息是和Response里的信息是一样的,Preview就是将其解析后呈现的。
我们记下sug的链接:https://fanyi.baidu.com/sug,
sug的请求方法:POST,
返回的文件格式:json。
from requests import post
text = input("输入单词:")
post_url = "https://fanyi.baidu.com/sug"
head = {
"User-Agent": "Mozilla/5.0"
}
data = {
"kw": text
}
x = post(post_url, data, headers=head).json()
li = 0
word = ""
for i in range(len(x["data"])):
word += f"单词:{x['data'][li]['k']}\n{x['data'][li]['v']}\n"
li += 1
print(word)
这是第一阶段的代码,下一篇我们将会用tkinter库为它添加GUI(图形用户界面)。