Python3.x+Fiddler抓取APP数据

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

安装Fiddler

Fiddler官网下载地址:http://www.fiddler2.com/fiddl...,我是直接在百度搜索的下载版本html

安装过程就是下一步下一步最后完成便可,安装好了之后须要配置一些内容api

设置容许抓取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地址(坑点)iphone

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

第四步:手机和电脑端安装证书
电脑端访问:http://localhost:8888/进行安装
图片描述
手机访问电脑的IP地址加端口8888便可,我这里的地址是:http://192.168.23.1:8888
图片描述测试

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

分析手机APP请求地址

经过观察fiddler中的请求能够发现http://api.douguo.net/persona...,这个就是请求首页中的部分数据,直接把地址复制到网页中能够看到返回的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中提取数据的步骤

相关文章
相关标签/搜索