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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

安装Fiddler

Fiddler官网下载地址:https://www.telerik.com/download/fiddler,我是直接在百度搜索的下载版本

安装过程就是下一步下一步最后完成即可,安装好了以后需要配置一些内容

设置允许抓取HTTPS信息包
打开下载好的fiddler,找到 Tools -> Options,然后在HTTPS的工具栏下勾选Decrpt HTTPS traffic,在新弹出的选项栏下勾选Ignore server certificate errors。这样,fiddler就会抓取到HTTPS的信息包

设置允许外部设备发送HTTP/HTTPS到fiddler
在Connections选项栏下勾选Allow remote computers to connect

连通手机与电脑

想要抓取手机APP上的数据一大难点就在于,你并不知道他们数据请求的接口地址是多少,在PC端想要抓取一个网站的数据只要访问网址,用抓包工具就可以知道了,所以我们第一步先把环境配置好,就是在手机上访问地址(发送任何网络请求)都可以在电脑上通过Fiddler抓取到。

第一步:先保障手机和电脑上面连接网络,我这里是电脑连的网线,我单独安装了一个Wi-Fi共享精灵,手机(iphone6s)连接上共享出去的wifi

第二步:查看电脑IP地址
先在电脑上打开cmd,输入ipconfig查看IP地址

这里要注意IP地址用的是无线网络连接这个IP地址,不是本地连接的IP地址(坑点)

第三步:手机设置HTTP代理
打开手机无线网络连接,选择已经连接的网络连接,点击一个小圆圈叹号进入可以看到下图,选择配置代理,进入后把刚刚的IP地址输入进去,端口就是Fiddler中设置的8888即可。

第四步:手机和电脑端安装证书
电脑端访问:http://localhost:8888/进行安装

手机访问电脑的IP地址加端口8888即可,我这里的地址是:http://192.168.23.1:8888

第五步:测试通过
最后就是来测试下,打开手机随便一个APP,去访问里面的内容,这时打开fiddler可以看到所发出的网络请求,我这里打开的是豆果美食APP

分析手机APP请求地址

通过观察fiddler中的请求可以发现

http://api.douguo.net/personalized/home/0/20,这个就是请求首页中的部分数据,直接把地址复制到网页中可以看到返回的JSON数据

其实这部分内容是最重要也是最困难的一个环节,考验你工作年限的时候到了,要从中剥离出正确的API请求,并分析API中的数据结构,为后续数据分析做准备。

Python3.x爬虫获取数据

这里直接通过urllib.request进行请求即可,这里并没有使用框架,代码如下:

​​​​​​​

import urllib.request
# 向指定的url地址发送请求,并返回服务器响应的类文件对象response = urllib.request.urlopen("http://api.douguo.net/personalized/home/0/20")
# 服务器返回的类文件对象支持Python文件对象的操作方法# read()方法就是读取文件里的全部内容,返回字符串html = response.read()
# 打印响应内容print(html.decode("unicode_escape"))

运行代码结果打印数据如下

后续对这个数据是存储,还是分析就是后续的操作了,到此我们就已经完成了从手机APP中提取数据的步骤

Python3.x+Fiddler抓取APP数据的更多相关文章

  1. Python 逆向抓取 APP 数据

    今天继续给大伙分享一下 Python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固 ...

  2. Fiddler抓取https数据包

    Wireshark和Fiddler的优缺点: ①Wireshark是一种在网络层上工作的抓包工具,不仅自带大量的协议分析器,而且可以通过编写Wireshark插件来识别自定义的协议.虽然Wiresha ...

  3. Fiddler 抓取 app 网络请求数据

    通过设置代理在同一个路由器下可以通过 Fiddler 实现抓取 app 的网络数据 步骤如下: 手机(Android ,iOS 都可以)和 PC 连到同一个路由器 对手机连接的 WIFI 设置代理,代 ...

  4. fillder抓取APP数据之小程序

    1.下载fillder ,fillder官网:https://www.telerik.com/fiddler 2.安装好后设置fillder: 工具—>选项,打开设置面板.选择HTTPS选项卡. ...

  5. 使用python抓取App数据

    App接口爬取数据过程使用抓包工具手机使用代理,app所有请求通过抓包工具获得接口,分析接口反编译apk获取key突破反爬限制需要的工具:夜神模拟器FiddlerPycharm实现过程首先下载夜神模拟 ...

  6. 手把手教你如何用Fiddler抓取手机数据包(iOS+Android)

    本文主要教你如何通过 Fiddler 来抓取手机端的数据包,包括 iOS 和 Android 端的配置和抓取. 一.Fiddler下载安装 访问 Fiddler 官网:https://www.tele ...

  7. HTTPS-使用Fiddler抓取HTTPS数据包原理

    最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...

  8. 利用Fidder工具抓取App数据包

    第一步:下载神器Fiddler,下载链接: http://fiddler2.com/get-fiddler 下载完成之后,傻瓜式的安装一下了! 第二步:设置Fiddler打开Fiddler,     ...

  9. 如何使用Fiddler抓取APP接口和微信授权网页源代码

    Fiddler,一个抓包神器,不仅可以通过手机访问APP抓取接口甚至一些数据,还可以抓取微信授权网页的代码. 下载安装 1. 下载地址(官网):  https://www.telerik.com/do ...

随机推荐

  1. 自定义Mybatis自动生成代码规则

    前言 大家都清楚mybatis-generate-core 这个工程提供了获取表信息到生成model.dao.xml这三层代码的一个实现,但是这往往有一个痛点,比如需求来了,某个表需要增加字段,肯定需 ...

  2. Django之 Views组件

    本节内容 路由系统 models模型 admin views视图 template模板 我们已经学过了基本的view写法 单纯返回字符串 1 2 3 4 5 6 7 8 def current_dat ...

  3. 网页排名算法PagaRank

    网页排名算法PageRank PageRank,网页排名,又叫做网页级别.是一种利用网页之间的超链接数据进行计算的方法.它是由Google的两位创始人提出的. 对于用户而言,网页排名一般是比较主观的, ...

  4. C#文件说明

    Bin -- 用来存放编译的结果,是默认的输出路径,项目属性—>配置属性—>输出路径. obj -- 用于存放编译过程中生成的中间临时文件.增量编译:项目属性—>配置属性—>高 ...

  5. Redis之字典

    概念 字典,又称为符号表.关联数组或映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构.字典中每个键都是独一无二的,程序可以根据键来更新值,或者删除整个键值对. 用途 ...

  6. [C++面向对象]-C++成员函数和非成员函数

    大纲: 1.成员函数和非成员函数 2.详细解释 3.总结 4.参考   1.成员函数和非成员函数   其实简单来说成员函数是在类中定义的函数,而非成员函数就是普通函数,即不在类中定义的函数,其中非成员 ...

  7. Python Ethical Hacking - NETWORK_SCANNER(2)

    DICTIONARIES Similar to lists but use key instead of an index. LISTS List of values/elements, all ca ...

  8. 微信小程序实战:表单与选择控件的结合

    先上代码. login.wxml <mp-toptips msg="{{error}}" type="error" show="{{error} ...

  9. three.js 数学方法之Box3

    从今天开始郭先生就会说一下three.js 的一些数学方法了,像Box3.Plane.Vector3.Matrix3.Matrix4当然还有欧拉角和四元数.今天说一说three.js的Box3方法(B ...

  10. JAVA I/O基本操作

    JAVA I/O基本操作 JAVA文件操作 JAVA字节流 JAVA字符流 JAVA缓存流 JAVA对象流 JAVA数据流 本文主要借鉴以下博客和网站: how2j.cn 深入理解java中的I/O ...