记录一次手机app数据爬取的经历(Fiddler(手机抓包)+tasker(定时启动app)+夜神模拟器)
1. Fiddler配置及抓包先配置好fiddler和手机(模拟器也可以),然后用手机或者模拟器运行app,用fiddler抓包找到自己想要的内容,然后可以自定义script保存数据。(实属无奈,用python模拟不了一些东西)电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。一.对PC(笔记本)参数进行配置1.配置fiddler允许监听到https(fiddler默认只抓
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 添加配置文件
在配置文件的地方点击右下方的+,然后选择时间,
设置你需要运行的时间段,以及多久运行一次,时间间隔可以是小时或者分钟。设置好以后然后返回
选择一个对应的任务即可
最后点击右上的保存即可
更多推荐
所有评论(0)