import requests
import json
def youdaofanyi():
'''在网址中输入一个内容
这样我们就可以在 nowwork 的 all 中 找 headers 中的 form data 中的数据是否有添加的内容
观察网址得到 http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
将其修改为 数据 页就是 去掉 _o 的网址 才是需要真正去请求的网址
其 请求方式 为 post 比 get 请求要多一个 参数 data
也是就 Form Data 中的所有数据
'''
link = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
content = input("请输入需要翻译的内容: ")
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
} # 这个 headers 就不展示了
data = {
'i':content, # 此 'key' 的值 是我们需要输入的翻译得 内容
'form': 'AUTO', # 其余 参数 不变
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '15836484748597',
'sign': '09008534dac6d90e41e5d2ae3d6a11f7',
'ts': '1583648474859',
'bv': 'a9c3483a52d7863608142cc3f302a0ba',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_REALTlME',
}
resp = requests.post(link,data=data,headers=headers).json() # 转化为 json 格式
print(resp['translateResult'][0][0]['tgt']) # 通过结果中 键名 得到一组数据
'''
此时得到的数据 以 输入的 apple 为例
将得到 [[{'src': 'apple', 'tgt': '苹果'}]] 这样的数据
两个中括号 一个花括号 可以当做 一个人 二维数组
其中二维数组中第一个数据都是两个 零 改写为 print(resp['translateResult'][0][0])
再次得到数据 {'src': 'apple', 'tgt': '苹果'} 其中 tgt 是我们需要的 在通过 键名 的方式 来提却
将其修改 为 print(resp['translateResult'][0][0]['tgt'])
此时得到的数据 就是我们需要的
'''
# 多次调用函数 清晰看到效果## 标题
youdaofanyi()
youdaofanyi()
youdaofanyi()
代码运行结果:
——————————END