初用python对fiddler返回的json文件进行简单读取

学习目的:

因为学校本周要求我们做微信某个小程序的答题,但是主题是关于“素养展示”的答题跟我材料狗没有半毛钱关系,于是想到能不能通过抓包解决,因为只是说答题又没有说怎么去答。
在这里我本来是想直接用fiddler抓手机的包,结果怎么配置也解决不了,能抓手机上网页的包,不能抓app的包,因此这里用的是电脑抓微信小程序的包

接下来就是电脑微信抓包:

请添加图片描述
发现答案就在json代码当用,{}下有一个属性rightanswer,他对应的结果就是正确答案,那就简单了直接抄就行了,但是这样翻阅这对应实在是太慢了,我们将生成的响应以json文件保存到文件夹当中,之后使用编辑python文件去调用它。
1. 首先读取当前文件夹内所有文件,我这样设计是为了能够保存到json文件后程序能直接生成对应的txt答案文件,因为每次保存的json文件名称可能不一样。

import json
import os
filename = os.listdir()

接下来就是判断哪个是json文件并且打开它:

for file in filename:
    i = 1
    if file.endswith('.json'):
        file2 = open(file,'r',encoding='utf-8')

之后做一个简单的输出查看json文件的内容:
在这里插入图片描述
发现我们要找的rightAnswer在data中并且被储存在列表当中以值的形式存在,因此可以用下列代码直接输出它:

    if file.endswith('.json'):
        file2 = open(file,'r',encoding='utf-8')
        json1 = json.load(file2)
        list1 = json1['data']
        print(list['rightAnswer'])

之后我们只要把输出的结果以txt形式保存到文件夹中就可以了:

ith open('1.txt','w') as f :
            i = 1
            for list in list1:
                f.write(f"{i}.{list['rightAnswer']} {list['title']}\n")#在这里输出了title怕万一题目不对应
                i += 1 #i代表到第几个问题了

然后打开txt就是想要的结果了:
在这里插入图片描述
这些写完之后便想着直接保存json文件就可以得到txt文件,并且打开文件,这样的话答题时间能更快一点:

import json
import os
num = 1
while num == 1:
    filename = os.listdir()
    for file in filename:
        i = 1
        if file.endswith('.json'):
            file2 = open(file,'r',encoding='utf-8')
            json1 = json.load(file2)
            list1 = json1['data']
            with open('1.txt','w') as f :
                i = 1
                for list in list1:
                    f.write(f"{i}.{list['rightAnswer']} ")
                    i += 1
                    if (i-1)%5 == 0 :
                        f.write('\n')
        if file.endswith('.txt'):
            count = True
            if count:
                os.startfile('1.txt')
                count = False
                num = 0

其中进行了一点小修改,让选项5个一组的形式下存在运行查看结果:
在这里插入图片描述
很好在fiddler保存json文件之后就可以立即弹出来,然后对着选就行了,这也算是利用python简化了一点工作吧。
存在问题:
小程序答题必须能用微信打开,有的打不开的就没办法了抓包的问题我也在慢慢看解决不了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值