Post方法请求有道翻译
1:分析头部,找到关键POST请求/响应过程
2:获取Request URL
3:获取并构造表单
4:基于requestpost()方法提交翻译请求
5:实现控制台输入词语触发翻译
核心原理:
1:request的post请求方法
requests.post(url,data=data)
response = requests.post(‘http:///xxxx.xxx’,data=form)
2:JSON字符串转换为Python对应格式
//loads方法把json格式字符串解码成Python的对应对象
json.loads(json_str)
实现过程:
1:URL
2:表单数据填写规则
3:代码
import requests
import json
while True:
content = input("请输入要翻译的词语:")
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
post_form = {
'i': content,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '15584130884799',
'sign': '7cb8e5dada47bfefe2cfee6c2e586375',
'ts': '1558413088479',
'bv': '66745c2bd404c2f62490e4e8dadb4b0e',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CLICKBUTTION'
}
response = requests.post(url,data=post_form)
trans_json = response.text
trans_dict = json.loads(trans_json)
result = trans_dict['translateResult'][0][0]['tgt']
print("翻译结果:"+result)
print()