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

相关文章
|
11天前
|
移动开发 开发框架 小程序
uni-app:demo&媒体文件&配置全局的变量(三)
uni-app 是一个使用 Vue.js 构建多平台应用的框架,支持微信小程序、支付宝小程序、H5 和 App 等平台。本文档介绍了 uni-app 的基本用法,包括登录示例、媒体文件处理、全局变量配置和 Vuex 状态管理的实现。通过这些示例,开发者可以快速上手并高效开发多平台应用。
|
2月前
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
|
10天前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
111 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
27天前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
1月前
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub的解决之法
An exception occurred while retrieving properties for Event Hub: logicapp. Error Message: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Che
|
2月前
|
开发框架 .NET Windows
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
|
2月前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
|
2月前
|
Java 应用服务中间件 开发工具
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
|
2月前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
|
2月前
|
Linux C++ Docker
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image
【Azure Developer】在Github Action中使用Azure/functions-container-action@v1配置Function App并成功部署Function Image