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

相关文章
|
20天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
21天前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
22天前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
18天前
|
JSON Shell Linux
配置Python的环境变量可
配置Python的环境变量
45 4
|
14天前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
52 0
|
11天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
17天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
17天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
17天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
4天前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。