ITPub博客

首页 > 大数据 > 数据挖掘 > 利用Fiddler的Custom Rules自动抓取App

利用Fiddler的Custom Rules自动抓取App

原创 数据挖掘 作者:xakzp 时间:2018-07-24 16:03:07 0 删除 编辑

本文原创作者:鲲之鹏( http://www.site-digger.com)

本文原始链接: http://www.site-digger.com/html/articles/20170810/137.html


背景: 某App的token有时效性,大概生命周期只有一小时。因此爬虫中不能使用一个固定的token去抓数据,必须要定时获取新的token值。但token的产生过程复杂难以直接实现。

鲲之鹏的技术人员经过研究,最后采用了“曲线救国”的方法,通过程序模拟操作App(启动),定时产生新的token,然后利用Fiddler2捕获这个token并记录到指定文件中(爬虫定时读取这个文件获取新的token)。

用Fiddler2捕获App的数据包这个方法在我们之前的文章里已经多次提到,如果你还不熟悉,可以看看这里 http://www.site-digger.com/html/articles/20170116/134.html 。今天我们重点讲的是如何让Fiddler2自动将捕获到的特定参数记录到指定文件中去。

这要归功于Fiddler2的Custom Rules功能,我们可以在Custom Rules中添加脚本(JavaScript)来实现自定义的功能。官网示例文档: http://docs.telerik.com/fiddler/KnowledgeBase/FiddlerScript/ModifyRequestOrResponse 。

具体操作步骤如下:

第一步: 启动Fiddler ScriptEditor。"菜单栏Rules -> Customize Rules...."如下图所示:

 

第二步: 找到OnBeforeRequest()方法,插入如下代码:

view plain copy to clipboard print ?

  1. // 首先判断请求域名是否是自己感兴趣的,以及URL中是否含有自己感兴趣的特征字符串。如果是,则将该请求的URL和QueryString记录到日志文件 "c:/fiddler-token.log"中。   

  2. if  (oSession.HostnameIs( "某域名" ) && oSession.uriContains( "特征字符串" )){  

  3.          var  filename =  "c:/fiddler-token.log" ;  

  4.          var  curDate =  new  Date();  

  5.          var  logContent =   "["  + curDate.toLocaleString() +  "] "  + oSession.PathAndQuery +  "\r\n" ;  

  6.          var  sw : System.IO.StreamWriter;  

  7.          if  (System.IO.File.Exists(filename)){  

  8.                 sw = System.IO.File.AppendText(filename);  

  9.                 sw.Write(logContent);  

  10.         }  

  11.          else {  

  12.                 sw = System.IO.File.CreateText(filename);  

  13.                 sw.Write(logContent);  

  14.         }  

  15.         sw.Close();  

  16.         sw.Dispose();  

  17. }  

 

第三步: 保存脚本并测试(保存后立即生效,无需重启Fiddler)。测试结果如下图所示。




在每篇转发的文章后面加上如下信息(鲲之鹏要加上超链接,链接到http://www.site-digger.com):

说明:该文章为鲲之鹏(http://www.site-digger.com)原创文章 ,您除了可以发表评论外,还可以转载到别的网站,但是请保留源地址,谢谢!!(尊重他人劳动,我们共同努力)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30303165/viewspace-2158420/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-06-24

  • 博文量
    42
  • 访问量
    60891