淘先锋技术网

首页 1 2 3 4 5 6 7

1、APP数据交互分析

以某考试练习APP为例(只爬取题目,无答案)

1.1、环境准备

(1)PC(笔记本)上安装WIFI外放工具,例如360免费WIFI

(2)手机安装APP后,注册账号并登陆

1.2、请求分析

运行APP,并触发所需场景,定位请求记录

672482c001064f838135a7914874fb3c.png

请求分析

496baeac456c472499a972d348ebaba8.png

f9436a2edcbb49a4a4c3416f4abfe653.png

通过以上过程可知,习题加载过程为:

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、本地习题记录

本地习题记录

025e25502f1a4d88858930f4e0ff8579.png

注:

此为对抓包工具与Python配合应用的示例,本文只以下载试题题目为例,如有侵权,请联系作者删除。