随着移动互联网的市场份额逐步扩大,手机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中提取数据的步骤

最新文章

  1. git pull push 不用输入用户名和密码的方法
  2. 如何开启win7端口的图文教程
  3. Django笔记-登陆、注册(利用cookie实现)
  4. MATLAB画ROC曲线,及计算AUC值
  5. Codeforces Round #138 (Div. 2)
  6. Python开发【第一篇】Python基础之反射
  7. 单元测试之Qunit
  8. wpf的一些总结
  9. Linux入门之常用命令(14) kill
  10. [ZJOI2019]麻将(动态规划,自动机)
  11. java36
  12. 【Fiddler学习】Fiddler简介和Web抓包应用(转)
  13. Python 调用 Redis API
  14. azkaban安装
  15. 多态性&& 虚函数 && 抽象类
  16. css小点心
  17. 【OCP|052】OCP最新题库解析系列-2
  18. CSS3:@font-face规则
  19. JSP2 自定义标签
  20. delphi AlphaControls

热门文章

  1. shell专题(三):Shell脚本入门
  2. 机器学习实战基础(三十八):随机森林 (五)RandomForestRegressor 之 用随机森林回归填补缺失值
  3. 通过实现网站访问计数器带你理解 轻量级锁CAS原理,还学不会算我输!!!
  4. redis linux开机启动 (简单高效)
  5. 【五学x红小豆xRS】两边三地大联动-句型
  6. Host是什么?如何设置host文件?
  7. Cyber Security - Palo Alto Firewall Interface Types
  8. Go Pentester - TCP Proxy
  9. LGTB 与 序列
  10. 用Tableau制作官网流量周报