网站与APP抓包分析3 通过Python实现APP内容爬虫

1、APP数据交互分析

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

1.1、环境准备

(1)PC(笔记本)上安装WIFI外放工具,例如360免费WIFI
(2)手机安装APP后,注册账号并登陆

1.2、请求分析

运行APP,并触发所需场景,定位请求记录
网站与APP抓包分析3 通过Python实现APP内容爬虫
请求分析
网站与APP抓包分析3 通过Python实现APP内容爬虫
网站与APP抓包分析3 通过Python实现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、本地习题记录

本地习题记录
网站与APP抓包分析3 通过Python实现APP内容爬虫

注:

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

上一篇:实验二 动态规划算法 用动态规划法求解0/1背包问题


下一篇:已知二叉树的中序和前序序列(或后序)求解树