Python爬虫入门教程 41-100 Fiddler+夜神模拟器+雷电模拟器配置手机APP爬虫部分

爬前叨叨

从40篇博客开始,我将逐步讲解一下手机APP的爬虫,关于这部分,我们尽量简化博客内容,在这部分中可能涉及到一些逆向,破解的内容,这部分尽量跳过,毕竟它涉及的东西有点复杂,并且偏离了爬虫体系太远,有兴趣的博友,可以一起研究下。

之前看到知乎有人对手机App爬虫归类,基本符合规则,接下来的10篇博客可能集中在80%的App上,所以还是比较简单的

  1. 50%的app,通过抓包软件就可以分析出抓取参数并抓取到信息。
  2. 30%的app,可能需要适当的反编译,分析出加密算法并抓取到信息。
  3. 10%的app,可能加固,需要脱壳,然后反编译,分析出加密算法并抓取到信息
  4. 10%的app,通过各式各样的签名,证书,设备绑定等方法,隐藏加密算法。

首先配置第一轮的环境,配置好了,下一篇博客,就采用Fiddler+夜神模拟器[雷电模拟器]等实现儿歌多多APP的数据抓取工作

抓包

抓包是爬虫里面经常用到的一个词,完整的应该叫做抓取数据请求响应包 ,而Fiddler这款工具就是干这个的,当然还有其他工具,后面的博客中咱也会提及到

你可以百度关键字:Fiddler抓取手机APP 相关的博客一大票~,哪篇博客基本都可以叫你入门,所以你可以看看各家的,今天我这篇博客主要写的是Fiddler配合模拟器实现抓包操作。

python3爬虫入门教程

百度Fiddler软件,找到官网,下载按照流程安装即可,当然你可以自己去找一个汉化版,这个看你使用百度的水平了,我使用的是4.0以上版本,建议你也使用这个吧,当然版本越高越好。
python3爬虫入门教程

做一些简单的配置

普通https抓包设置

打开Fiddler ------> Options .然后打开的对话框中,选择HTTPS tab页,如图所示:
python3爬虫入门教程

说明 (配置完后记得要重启Fiddler)

  1. 选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求
  2. Ignore server certificate errors忽略证书错误

第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。

配置Fiddler允许远程连接

切换tab选项卡到 Connections 配置端口

python3爬虫入门教程

  1. 选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来

等会设置手机代理时需要。设置好后重启fiddler保证设置生效。

到现在为止,其实Fiddler已经可以抓取你电脑上浏览器访问的数据了,如果不行,重启Fiddler和浏览器即可

记录本机的IP

打开cmd窗口,不会的自行百度

在里面输入 ipconfig 获取你的ip4地址 ,这个地址一定要记住,后面配置模拟器的时候是需要用的~

python3爬虫入门教程

ip 192.168.137.1

下载模拟器

你可能更多的时候是使用模拟器来打游戏,作为程序猿,模拟器上安装APK是非常好用的。
自行下载安装夜神模拟器,雷电模拟器或者其他的都可以

安装完毕,长成这个样子
下载APK文件,直接拖拽到下面视图,就可以直接安装

python3爬虫入门教程

找到设置,点击Wlan,长按鼠标左键,出现如下界面

python3爬虫入门教程

点击修改网络

代理模式选择手动,输入刚才的IP和上述提到的8888端口

python3爬虫入门教程

使用模拟器默认浏览器打开 http://192.168.137.1:8888, 点"FiddlerRoot certificate" 然后安装证书,如图:

python3爬虫入门教程

安装完毕之后,打开模拟器上的浏览器,输入www.baidu.com

在Fiddler中抓取到如下链接,代表环境配置已经完毕
python3爬虫入门教程

温馨提示下,在抓包过程中,你的fiddler不能关闭哦。关闭了之后你手机网络就不能用了。

停止网络监控的话去掉wifi的代理设置即可

设置过滤

1.手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。

2.打开fiddler>Tools>Fiddler Options>HTTPS>...from remote clients only,勾选这个选项就可以了
python3爬虫入门教程

  • ...from all processes :抓所有的请求
  • ...from browsers only :只抓浏览器的请求
  • ...from non-browsers only :只抓非浏览器的请求
  • ...from remote clients only:只抓远程客户端请求

Fiddler 抓包简介

Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。
python3爬虫入门教程

需要能简单看懂Fiddler上的内容

更详细的使用,可以参考一篇写的很不错的文章 参考博客

python3爬虫入门教程

上述横着的红色框

名称 含义
# 抓取HTTP Request的顺序,从1开始,以此递增
Result HTTP状态码
Protocol 请求使用的协议,如HTTP/HTTPS/FTP等
Host 请求地址的主机名
URL 请求资源的位置
Body 该请求的大小
Caching 请求的缓存过期时间或者缓存控制值
Content-Type 请求响应的类型
Process 发送此请求的进程:进程ID
Comments 允许用户为此回话添加备注
Custom 允许用户设置自定义值

下面竖着的红色框

图标 含义
python3爬虫入门教程 请求已经发往服务器
python3爬虫入门教程 已从服务器下载响应结果
python3爬虫入门教程 请求从断点处暂停
python3爬虫入门教程 响应从断点处暂停
python3爬虫入门教程 请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)
python3爬虫入门教程 请求使用 HTTP 的 POST 方法
python3爬虫入门教程 请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道
python3爬虫入门教程 响应是 HTML 格式
python3爬虫入门教程 响应是一张图片
python3爬虫入门教程 响应是脚本格式
python3爬虫入门教程 响应是 CSS 格式
python3爬虫入门教程 响应是 XML 格式
python3爬虫入门教程 响应是 JSON 格式
python3爬虫入门教程 响应是一个音频文件
python3爬虫入门教程 响应是一个视频文件
python3爬虫入门教程 响应是一个 SilverLight
python3爬虫入门教程 响应是一个 FLASH
python3爬虫入门教程 响应是一个字体
python3爬虫入门教程 普通响应成功
python3爬虫入门教程 响应是 HTTP/300、301、302、303 或 307 重定向
python3爬虫入门教程 响应是 HTTP/304(无变更):使用缓存文件
python3爬虫入门教程 响应需要客户端证书验证
python3爬虫入门教程 服务端错误
python3爬虫入门教程 会话被客户端、Fiddler 或者服务端终止

好了,文章到此结束了~~大家Fiddler用起来吧

下一篇,将写一下如何爬取儿歌多多APP

python3爬虫入门教程

posted @ 2019-02-26 11:24  梦想橡皮擦  阅读(4870)  评论(2编辑  收藏  举报