1、环境都搭好之后,我们开始监测数据吧
可以先上划视频,查看fiddler是否可以监测到数据,如图这是博主几次上划之后,监测到的api接口等等,说明可以正常监测接口了。
2、我们需要抓取的是用户详细信息数据,那么在此之前我们需要找到用户信息的接口
经过进入用户信息页和fillder抓取博主找到了接口为"https://aweme.snssdk.com/aweme/v1/user/profile/other/?",相应的fiddler抓到的数据是:
3、将fiddler抓取到的数据保存到本地json文件中进行存储。
1)这是博主之前抓取的,先新建*.json文件进行数据存储
2)在Fiddler ScriptEditor添加存储操作,这一步fiddler不需要重启
或者ctrl+R,进入Fiddler ScriptEditor
找到OnBeforeResponse方法,在方法最前面添加
if (oSession.fullUrl.Contains("https://aweme.snssdk.com/aweme/v1/user/profile/other/?")) {
oSession.utilDecodeResponse();
FiddlerObject.log("--------------------");
FiddlerObject.log(oSession.GetResponseBodyAsString());
FiddlerObject.log("--------------------");
//消除保存的请求可能存在乱码的情况
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
//文件保存路径,可自定义,但路径必须这么写,不然会报错
file = fso.OpenTextFile("C:\\Users\\86187\\Desktop\\json\\result.json",8 ,true, true);
file.writeLine(oSession.GetResponseBodyAsString()+",");
file.writeLine("\n");
file.close();
}
详细代码:
static function OnBeforeResponse(oSession: Session) {
if (oSession.fullUrl.Contains("https://aweme.snssdk.com/aweme/v1/user/profile/other/?")) {
oSession.utilDecodeResponse();
FiddlerObject.log("--------------------");
FiddlerObject.log(oSession.GetResponseBodyAsString());
FiddlerObject.log("--------------------");
//消除保存的请求可能存在乱码的情况
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
//文件保存路径,可自定义,但路径必须这么写,不然会报错
file = fso.OpenTextFile("C:\\Users\\86187\\Desktop\\json\\result.json",8 ,true, true);
file.writeLine(oSession.GetResponseBodyAsString()+",");
file.writeLine("\n");
file.close();
}
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
}
4、测试功能,当你进入一个用户主页是,fiddler控制台有数据输出,json文件进行了更新则说明数据抓取存取成功,如下图所示
5、用户成功保存到本地json文件之后,就是对文件数据进行解析并存入数据库了。