经过测试,我们发现,百度翻译提交的数据都会形成一个表单,并且请求头的url是“https://fanyi.baidu.com/sug”
那么就有思路了
import requests
import json
word = input("请输入你要查询的单词(汉译英/英译汉):")
kv = {
"User-Agent":
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
}
form_data = {'kw': word}
post_url = "https://fanyi.baidu.com/sug"
response = requests.post(post_url, data=form_data, headers=kv, timeout=30)
# print(response.content.decode())
result = json.loads(response.content.decode())
# print(result)
print("“{}”的意思如下".format(word))
for i in range(len(result["data"])):
print(result["data"][i]["k"])
print(result["data"][i]["v"])
补充
显示的意思并不是直接翻译的意思,而是它的扩充,就是下图我圈起来的部分
如果输入自己编的句子,后面会显示翻译,但是程序并不会输出任何东西
那么,如何显示它直接翻译出来的意思呢?请看我下一篇博客