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!!!!!!")
posted @ 2023-09-19 20:23  yesyes1  阅读(16)  评论(0编辑  收藏  举报