1、APP数据交互分析
以某考试练习APP为例(只爬取题目,无答案)
1.1、环境准备
(1)PC(笔记本)上安装WIFI外放工具,例如360免费WIFI
(2)手机安装APP后,注册账号并登陆
1.2、请求分析
运行APP,并触发所需场景,定位请求记录
请求分析
通过以上过程可知,习题加载过程为:
HOST: 182.92.213.77:9011
请求类型:POST
URL: http://182.92.213.77:9011/safeEden/r/p/d/ugetquest.d
Cookie:Uid=155710&Slid=1
其中Uid=用户ID,Slid=习题归属分组,每组加载3道题。
2、Python脚本实现
构造习题加载URL,通过Python 构造HTTP POST清洗;
通过循环执行习题获取请求,遍历获取习题,并写入txt文档;
对文档进行去重,可得APP中大部分习题。
2.1、Python脚本
#!/usr/bin/env python
#-*-coding:gb2312-*-
from urllib.request import urlopen
def readquest(v):
csvalue=v
url = 'http://182.92.213.77:9011/safeEden/r/p/d/ugetquest.d' #构造URL
data = bytes(csvalue,'utf8')
r = urlopen(url,data=data) #发送URL,包括URL和Cookie
response =str(r.read(),'utf8') #获得请求
print (response)
f=open('ItemBank.txt','a+')
f.write(response) #将返回结果希尔TXT文档
def xunhuan():
cs1='Uid=149778&Slid='
i=1
while i<=5: #循环次数
cs2=i
cs=cs1 + str(cs2)
readquest(cs)
i=i+1
xunhuan()
2.2、本地习题记录
本地习题记录
注:
此为对抓包工具与Python配合应用的示例,本文只以下载试题题目为例,如有侵权,请联系作者删除。