记录一次手机app数据爬取的经历(Fiddler(手机抓包)+tasker(定时启动app)+夜神模拟器)

1. Fiddler配置及抓包

先配置好fiddler和手机(模拟器也可以),然后用手机或者模拟器运行app,用fiddler抓包找到自己想要的内容,然后可以自定义script保存数据。(实属无奈,用python模拟不了一些东西)

电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。

一.对PC(笔记本)参数进行配置

1. 配置fiddler允许监听到https(fiddler默认只抓取http格式的)

打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS,

勾选CaptureHTTPS CONNECTs,点击Actions,

勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),见图:

在这里插入图片描述

2 配置fiddler允许远程连接

上一步窗口中点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后要重新启动fiddler,如下图:
在这里插入图片描述

点击完成之后,PC端配置完成,接下来开始配置手机端,以安卓为例,iOS方法同安卓;

二.对手机端进行参数配置

首先要保证手机和电脑都处于同一个网络;

然后要知道电脑的ip地址(当然这个电脑是安装fiddler的电脑),电脑ip地址可通过cmd,输入ipconfig查询,或网络共享中ipv4找到,我的是192.168.103.53,

再者要知道fiddler的端口号,Tools->TelerikFiddler Options->Connections,port中值就是端口号,一般默认为8888;接下来开始操作手机;

1.第一步:手机和电脑连接同一个网络,打开手机浏览器,输入http://ip:端口号,点击前往;见下图:

在这里插入图片描述

2.第二步:前往之后会跳转到证书下载页,见下图:

点击FiddlerRootcertificate下载证书;
在这里插入图片描述

3.第三步:点击下载之后,安装证书并起个名字,随便写就行,点击确定;

在这里插入图片描述

4.第四步:要求设置一个手机密码,自己设置一个,记住密码就行,最后不用了去系统-安全-密码中去掉即可;

在这里插入图片描述

5.第五步:更改手机无线网的代理

手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定即可,模拟器手机系统设置-无线网长按点击修改网络进入下图
在这里插入图片描述

在这里插入图片描述

6.操作手机,电脑fiddler中会显示一些http信息,成功;

三. 其他

1.停止电脑对手机的网络监控

     系统设置-wifi,找到代理,去掉即可;

2.删除手机中证书

     安卓系统设置—安全—受信任的凭证—用户,点击证书删除即可;

3.删除手机上密码

     手机系统—安全—密码,删除系统密码即可;

四. 自定义脚本保存json文件

点击fiddler的FiddlerScript进入脚本编辑,然后在 OnBeforeResponse添加自定义代码
在这里插入图片描述

        if (oSession.uriContains("https://app2.mobike.com/api/nearby/v4/nearbyBikeInfo"))//这个url需要改为你需要保存的url,url不一定要全,但是最好是唯一的,比如我的真实url是https://app2.mobike.com/api/nearby/v4/nearbyBikeInfo?__skck=0b1764422bb59c7fda46878a2f6dba13&__skts=1596517503&__skua=d41d8cd98f00b204e9800998ecf8427e&__skno=fbc91d4b-7574-499b-b978-6e456e1cd8d2&__skvs=1.1&__skcy=J5R%2B6yx8AHOvAYD2j%2BtCkN1anxk%3D,但是我只是公共前缀即可
        {var strBody=oSession.GetResponseBodyAsString();
            var sps = oSession.PathAndQuery.slice(-58,);//完整url获取58以后的的字符串
            
            var curDate = new Date(); 
            // FiddlerObject.alert(sps)
            // FiddlerObject.alert(curDate)
            var filename = "C:/Users/GaryT/Desktop/data/" + sps +".json"; //路径改为你自己的路径
            var sw : System.IO.StreamWriter;  
            if (System.IO.File.Exists(filename))
            {  
                sw = System.IO.File.AppendText(filename);
                sw.Write(strBody);
            }  else{ 
                sw = System.IO.File.CreateText(filename);  
                sw.Write(strBody); 
            } 
            sw.Close();  
            sw.Dispose();  
        }

2. tasker实现app的定时运行

如果有需求也可以下载按键精灵等执行点击、滑屏等其他操作,我的需要只要定时打开和关闭app即可。
tasker下载链接 :https://www.lanzous.com/iafh29i(不保证永久有效)
软件已经完美破解并汉化,资源来自网络搜集与本人无关
教程
主要是两步

2.1 添加任务

点击任务,然后点击左下角的+号添加任务
在这里插入图片描述
输入任务名,按√保存在这里插入图片描述
然后会进入任务编辑页面,点击+号编辑任务
在这里插入图片描述
根据需要找到你想要的操作,我这里是打开应用,所以点击程序
在这里插入图片描述
然后选择启动应用,后面同理创建一个结束应用的任务
在这里插入图片描述
点击启动应用后跳转到应用选择页面,选择你需要启动的应用,比如我选择摩拜单车,接着会跳转到操作修改界面
在这里插入图片描述
点击两次左上角的返回即可
在这里插入图片描述
最后保存任务
在这里插入图片描述
关闭应用记得打开root
在这里插入图片描述

2.2 添加配置文件

在配置文件的地方点击右下方的+,然后选择时间,
在这里插入图片描述

设置你需要运行的时间段,以及多久运行一次,时间间隔可以是小时或者分钟。设置好以后然后返回
在这里插入图片描述
选择一个对应的任务即可在这里插入图片描述
最后点击右上的保存即可
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44388092/article/details/107785756