Python 解析 Charles JSON Session File (.chlsj)
Charles 代理,是一款抓包软件,可以帮助我们抓取浏览器请求跟响应。
1、在 Filter 里面输入需要抓包的网址
2、右键 Export Session
3、文件类型选择 JSON Session File (.chlsj) 保存
4、解析响应的数据结构
response.body.text 是文本字符串。
# 导入 python 内置的 json 模块
import json
# 读取 JSON 文件
input_path = r"C:\Users\Administrator\Desktop\py\test.chlsj"
# 解析完的 JSON 数据存放的输出文件
output_path = r"C:\Users\Administrator\Desktop\py\data.txt"
# 以只读(r:read)的方式打开 输入文件
with open(input_path, 'r', encoding='utf-8') as file:
# 将 JSON 数据加载到变量 data 中
data = json.load(file)
# 打印解析后的 JSON 数据
# print(data)
my_list = []
# 如果 JSON 数据是一个列表,可以遍历列表中的元素
if isinstance(data, list):
for item in data:
my_list.append(item['response']['body']['text'])
length = len(my_list)
# 打印数组长度
print(length)
# 以追加 (a:append) 的方式打开 输出文件
output_file=open(output_path, 'a', encoding='utf-8')
for item in my_list:
dict_obj = json.loads(item)
# 针对响应定制化处理
# 关闭文件,防止资源泄露
output_file.close()