python应用之破解百度翻译
1、分析题目
我们想要分析的是,在我们输入文本框数据之后,刷新显现出来的数据文本,而不是上一篇的整个页面的数据,所以,我们在查看后台运行情况时,不必查看全部:
只需要查看其中的XHR部分即可:
2、找到部分页面数据对应的包
找了半天,可算是找到对应的上的了:
(标头、负载、响应是否对应);
3、然后按照上一篇写的get请求写post请求
4、获取响应数据
在网页检查界面,我们可以确定响应数据为json类型:
所以在获取数据时,不能使用之前使用的.text();
换成.json()即可---需要注意的是,使用.json的时候,必须要确定响应数据为json类型,不然可能会报错;
5、进行持久化存储--将结果保存在文件中
import requests
import json
url='https://fanyi.baidu.com/v2transapi?from=en&to=zh'
data={
'query':'dog'
}
headers={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.31'
}
resp = requests.post(url=url,data=data,headers=headers)
result_json=resp.json()
print(result_json)
fp=open('dog.json','w',encoding='utf-8')
json.dump(result_json,fp=fp,ensure_ascii=False)
print("over!!!!!!")