Python爬虫入门教程 41-100 Fiddler+夜神模拟器+雷电模拟器配置手机APP爬虫部分-阿里云开发者社区

开发者社区> Python技术进阶> 正文

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

简介: 爬前叨叨 从40篇博客开始,我将逐步讲解一下手机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配合模拟器实现抓包操作。

image

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

做一些简单的配置

普通https抓包设置

打开Fiddler ------> Options .然后打开的对话框中,选择HTTPS tab页,如图所示:
image

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

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

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

配置Fiddler允许远程连接

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

image

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

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

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

记录本机的IP

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

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

image

ip 192.168.137.1

下载模拟器

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

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

image

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

image

点击修改网络

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

image

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

在这里插入图片描述

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

在Fiddler中抓取到如下链接,代表环境配置已经完毕
image

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

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

设置过滤

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

2.打开fiddler>Tools>Fiddler Options>HTTPS>...from remote clients only,勾选这个选项就可以了
image

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

Fiddler 抓包简介

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

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

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

在这里插入图片描述

上述横着的红色框

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

下面竖着的红色框

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

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

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

image

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
Python技术进阶
使用钉钉扫一扫加入圈子
+ 订阅

官网链接