目录

1|0FiddlerScript

1|1环境搭建

1|2简单Fiddler Script

1|3show you mine code

2|0写在最后:

2|1环境问题:

2|2Fiddler Script脚本问题:


1|0FiddlerScript

1|1环境搭建

官网下载:
https://www.telerik.com/fiddler
安装步骤参照下面这篇文章(安装证书抓取https皆有详细步骤):
https://www.cnblogs.com/liulinghua90/p/9109282.html

1|2简单FiddlerScript

如下展示了Fiddler在客户端与服务端进行交互时的位置,在客户端发起http请求及接收服务端返回的数据时都可截取交互的数据。那么在Fiddler中我们就可以抓取所有http请求的数据,甚至可以更改参数再请求到服务端!!

Fiddler的普通抓包分析将不再赘述,这里主要介绍Fiddler高级用法也就是通过修改Fiddler Script脚本文件来实现请求数据及返回数据的修改。
Fiddler Script在Rules->Customize Rules:

脚本中的主要方法说明:
static function OnBoot fiddler 启动时调用
static function OnShutdown fiddler关闭时调用
static function OnAttach fiddler注册成系统代理时调用
static function OnDetach fiddler 取消注册系统代理时调用
static function Main 在每次fiddler启动时和编译CustomRules.js 脚本时调用。
static function OnBeforeRequest(oSession: Session) 在这个方法中修改Request的内容
static function OnBeforeResponse(oSession: Session) 在这个方法中修改Response的内容(对应爬虫来说该方法最常用)

1|3show you mine code

如下一段代码实现提取http请求返回的json数据保存至本地文件 并通过post请求发送至自己后台。
主要包含三大块:

  1. 解析response数据构造自身需要的json;
  2. 数据写入本地文件;
  3. 数据通过POST请求发送至后台保存mongodb
    static function OnBeforeResponse(oSession: Session) {if (m_Hide304s && oSession.responseCode == 304) {oSession["ui-hide"] = "true";}// if (oSession.fullUrl.Contains("baidu.com")){if (1){oSession.utilDecodeResponse();//消除保存的请求可能存在乱码的情况var jsonString = oSession.GetResponseBodyAsString();var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(jsonString);if((responseJSON.JSONObject=='System.Collections.ArrayList' || responseJSON.JSONObject=='System.Collections.Hashtable')&&jsonString!='[]'&&jsonString!='{}'){// 判断是否是json数据 然后保存var str='{}';//构造自己的JSON http请求的信息及返回的结果var data = Fiddler.WebFormats.JSON.JsonDecode(str);data.JSONObject["request_method"] = oSession.RequestMethod;var requestString = oSession.GetRequestBodyAsString();data.JSONObject["request_body"]= requestString;data.JSONObject["response_data"] = responseJSON.JSONObject;data.JSONObject["url"] = oSession.fullUrl;data.JSONObject["response_code"] = oSession.responseCode;jsonString = Fiddler.WebFormats.JSON.JsonEncode(data.JSONObject)// 保存文件到本地var fso;var file;fso = new ActiveXObject("Scripting.FileSystemObject");file = fso.OpenTextFile("E:\\spider_img\\Sessions.dat",8 ,true, true);file.writeLine(jsonString);file.writeLine("\n");file.close();// 数据通过post请求发送自己的后台服务保存 FiddlerObject.log('2222222222222222'+jsonString); // methodsvar method = "POST";var myUrl = 'http://localhost:8000/fiddler'var url = myUrl+'?data='+Utilities.UrlEncode(jsonString);var protocol = "HTTP/1.1";var raw="";var selected: Session = oSession;raw += method + " " + url + " " + protocol + "\r\n";raw +="Host:localhost:8000\r\n";raw +="Connection: keep-alive\r\n";raw +="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n";raw +="User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36\r\n";raw +="Accept-Encoding: gzip,deflate,sdch\r\n";raw +="Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4\r\n";raw +="Content-Type: application/json\r\n";var body= "jsondata=''";raw += "\r\n" + body;FiddlerObject.utilIssueRequest(raw);}}}

测试抓取某金融app银行类产品的存款利率

写入文件的json结果:

2|0写在最后:

2|1环境问题:

1.pc网页抓取暂无问题,参照上面的安装链接配置没有什么问题很容易成功。
2.app抓取问题:模拟器抓取会有很多app无法正常运行,可使用真机抓取。
3.https 403问题:手机安装证书后浏览器https抓取正常,但是部分app无法获取https链接,热心网友解决方法是使用JustTrustMe关闭ssl认证即可解决。但是我的小米6没有root成功无法安装 后来直接拿出老手机米4 android 6.x的系统便可直接抓取(老系统对爬虫比较友好),最后再root装个按键精灵就可以愉快的玩耍了。

2|2Fiddler Script脚本问题:

JScript之前并没有了解过,写完上面的代码后也不怎么了解,反正代码里面有其他的代码 依葫芦画瓢嘛 而且感觉语法和JavaScript有很多相似的。
还有就是在类视图里去找相应的方法,虽然里面的解释不够详细 但是根据名称简单介绍就大概知道用途了(官网并未找到详细的说明文档,有了解的老兄可以留言交流)

Fiddler高级用法—FiddlerScript抓取app网页json数据并保存相关推荐

  1. python3 pycharm 抓取app 上的数据

    App中的数据可以用网络爬虫抓取么 答案是完全肯定的:凡是可以看到的APP数据都可以抓取.  下面我就介绍下自己的学习经验和一些方法吧 本篇适合有过web爬虫基础的程序猿看  没有的的话学的可能会吃力 ...

  2. 以小饭桌网站为例介绍抓取动态网页的数据【python爬虫入门进阶】(12)

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦.

  3. python爬虫抓取动态网页数据_python网络爬虫抓取ajax动态网页数据:以抓取KFC门店地址为例...

    一,尝试用BeautifulSoup抓取 先打开KFC网站门店列表页面:http://www.kfc.com.cn/kfccda/storelist/index.aspx 可以看到门店列表如下图: 打 ...

  4. Python3.x+Fiddler抓取APP数据

    随着移动互联网的市场份额逐步扩大,手机APP已经占据我们的生活,以往的数据分析都借助于爬虫爬取网页数据进行分析,但是新兴的产品有的只有APP,并没有网页端这对于想要提取数据的我们就遇到了些问题,本章以 ...

  5. fiddler设置中文版本_Python3.x+Fiddler 抓取 APP 数据

    随着移动互联网的市场份额逐步扩大,手机 APP 已经占据我们的生活,以往的数据分析都借助于爬虫爬取网页数据进行分析,但是新兴的产品有的只有 APP,并没有网页端这对于想要提取数据的我们就遇到了些问题, ...

  6. Python爬虫采集抓取:Python3.x+Fiddler 采集抓取 APP 数据

    随着移动互联网的市场份额逐步扩大,手机 APP 已经占据我们的生活,以往的数据分析都借助于爬虫采集爬取网页数据进行分析,但是新兴的产品有的只有 APP,并没有网页端这对于想要提取数据的我们就遇到了些问 ...

  7. Fiddler抓取APP网络请求

    安装Fiddler 一路next就行了. 配置Fiddler 1.允许解析https 2.允许抓取远程流量 3.配置只抓取app流量 4.关闭pc端防火墙或开通相关规则 Android端配置 1.配置 ...

  8. 抓取app数据教程–fiddler抓包数据截取-薄荷app为例

    转载请注明出处:抓取app数据教程–fiddler抓包数据截取-薄荷app为例 准备工具 1.手机(安装有想要抓取数据app的iphone或者android) 2.fiddler抓包工具 安装fidd ...

  9. 利用Fiddler抓取APP数据

    利用Fiddler抓取APP数据 简杨君 关注 2016.11.03 18:51* 字数 368 阅读 762评论 0喜欢 2 软件:Fiddler 系统:Windows10 手机:MX4 PRO F ...

  10. python获取app信息的库_Python学习教程:另辟蹊径,appium抓取app应用数据了解一下...

    作为爬虫工程师,没有价格不知道selenium的. 什么是selenium? Selenium原本是一个用于Web应用程序自动化测试工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一 ...

最新文章

  1. 习惯了收听虾米酷狗网易云音乐的你,好歹知道一下音乐推荐到底是咋回事吧
  2. android平板开发板,利用开源开发板自制的平板电脑 | 雷锋网
  3. HTML5 视频转换软件 Freemake Video Converter
  4. flutter中list相关操作汇总(有这一篇就够啦)
  5. linux su和sudo命令的区别
  6. 时隔多日,旧域名重用,niceyoo博客上线
  7. 猎豹浏览器禁止跟踪怎么开启 禁止跟踪功能开启方法
  8. Community Enterprise Operating System ISO 全镜像下载
  9. centos 修改时区及NTP时间同步
  10. vi编辑器的使用   快捷键
  11. c语言转义字符o用法,gogo体育下载官网-gogo体育下载官网
  12. MySQL窗口函数OVER()
  13. 计算机硬盘会计分录,电脑加装固态硬盘如何做分录
  14. 山经·南山经:堂庭山
  15. 数字电路5(基本CMOS逻辑门电路)
  16. ubuntu 命令行关机
  17. 【3】Ubuntu18.04下载与安装,以及中文输入法的安装
  18. 软件测试之α测试和Beta测试
  19. MATLAB产生随机阶跃信号
  20. KVM 虚拟机 配置 NAT 连接方式上网

热门文章

  1. 404网站服务器错误怎么解决,网站404错误怎么解决?[终极Xenu死链工具]
  2. 数字人民币的基础:共识与信任
  3. py读取xlsx文件
  4. CSS改变table内置tbody滚动条
  5. SQLite 生成随机数字、字符串、日期、验证码以及 UUID
  6. 企业邮箱的好处有哪些?企业邮箱使用场景
  7. 1467 A. Wizard of Orz
  8. 第六章:纯策略纳什均衡
  9. EL表达式与JSTL标签库
  10. 对接支付宝、微信、第三方支付,超详细讲解+demo演示