Python 移动端爬虫与自动化全链路实战 - 知识结构目录
课程概览
课程定位
面向有 Python 基础的入门开发者,以"短视频"为实战场景,全链路掌握移动端 App 数据采集与自动化:环境搭建 → 自动化控制 → 数据捕获 → 接口解析 → 群控调度 → 数据落地 → 可视化分析 → 反爬应对
核心特色
- 全链路覆盖:从环境搭建到 AI 数据分析,8 大环节完整闭环
- 实战驱动:以短视频平台为贯穿项目,每章节配套真实场景练习
- 工具矩阵:Appium + MitmProxy + Streamlit + DeepSeek AI + MinIO
- 群控架构:多模拟器并行控制,面向多设备批量抓取场景
- AI 赋能:集成 DeepSeek 大模型实现智能数据分析与报告生成
课程结构
| 维度 | 内容 |
|---|---|
| 章节 | 17章 |
| 时长 | 36小时 |
| 难度 | 初级 |
| 讲师 | 怕浪猫(全栈 Python 工程师) |
| 适用 | 需高效获取 App 数据的运营/产品/市场/研究者 |
| 前置 | Python 基础编程能力,HTTP 协议与命令行基础认知 |
| 环境 | Python 3.9+ / Android SDK / Windows 7+ / VT-x 开启 / ≥16G 内存 |
学习路线图
第1-2章 课程导学 + 项目分析
第3章 环境搭建
第4-7章 Appium 自动化 [核心模块一]
第8-11章 MitmProxy 抓包与接口逆向 [核心模块二]
第12章 安卓群控系统 [核心模块三]
第13-15章 Streamlit 可视化与 AI 分析 [核心模块四]
第16章 反爬应对
第17章 课程总结第一章:课程导学
教学目标
- 了解课程整体脉络、学习路线与项目背景
- 明确移动端爬虫的应用场景与职业价值
学习痛点
- 不清楚移动端爬虫和 Web 爬虫的区别
- 不知道学了能干什么,缺乏学习动力
章节内容
1.1 课程导学
- 你的APP数据掘金之路,从这里正式开始(07:16)
- 课程全链路:环境搭建 → 自动化控制 → 数据捕获 → 接口解析 → 群控调度 → 数据落地 → 可视化分析 → 反爬应对
- 贯穿项目:短视频数据采集与分析平台
本章知识点
- 移动端爬虫全链路技术栈概览
- App 数据价值与应用场景
- 课程学习路线与项目背景
第二章:移动端爬虫项目分析
教学目标
- 理解移动端爬虫的"逆向"学习法
- 掌握项目需求分析与技术选型方法
- 理解项目架构设计与模块划分
- 明确技术难点与解决方案
学习痛点
- 不清楚移动端爬虫项目该怎么规划
- 技术选型无从下手,不知道该选哪些工具
- 项目架构设计没有经验
章节内容
2.1 学习方法
- 先给项目,再给刀法:移动端爬虫的"逆向"学习法(图文)
- 以终为始:先看项目效果,再学技术细节
2.2 项目需求分析
- 项目效果展示&需求分析(03:17)
- 项目规模说明:开发范围与复杂度概述(02:37)
- 模块划分与功能:核心模块及其作用(04:56)
2.3 项目架构设计
- 项目架构设计:模块协作与流程解析(05:15)
- 技术难点解析:关键问题与解决方案(13:34)
2.4 技术选型
- 移动端爬虫技术选型:核心工具解析(06:30)
- Appium:移动端自动化控制
- MitmProxy:网络抓包与接口分析
- Streamlit:数据可视化与应用构建
- MinIO:对象存储
- DeepSeek:AI 模型分析
- 技术规模与成熟度:工具生态与稳定性分析(05:31)
本章知识点
- 移动端爬虫"逆向"学习法
- 项目需求分析与模块划分
- 技术选型方法论(Appium / MitmProxy / Streamlit / MinIO / DeepSeek)
- 项目架构设计(数据流:采集 → 解析 → 存储 → 分析 → 可视化)
第三章:项目环境搭建
教学目标
- 从零搭建完整的开发环境
- 掌握安卓模拟器的安装与联调
- 实现真实安卓设备的 USB 调试连接
学习痛点
- 环境搭建踩坑多,配置不完整导致后续学习卡壳
- 模拟器与开发环境联调不通
- 真机 USB 调试连接失败不知道怎么排查
章节内容
3.1 开发环境搭建
- 开发环境搭建:从零开始配置高效开发工具(11:40)
- 开发环境安装说明(图文)
- Python 3.9+ 安装与配置
- Android SDK / platform-tools 安装
- Appium Server 安装
- MitmProxy 安装
3.2 安卓模拟器
- 安卓模拟器安装:快速部署虚拟测试设备(06:55)
- 安卓模拟器设备联调:实现模拟器与开发环境的无缝对接(07:06)
- 模拟器 VT-x/AMD-V 虚拟化开启
- ADB 连接模拟器
3.3 真机调试
- USB调试真实安卓手机:连接真实设备进行高效测试(11:45)
- 开发者模式开启
- USB 调试授权
- ADB 设备识别
- 无线调试(补充)
本章实战项目
项目名称:移动端爬虫开发环境一键搭建
项目内容:
- 安装 Python 3.9+ 与依赖库
- 安装 Android SDK 与 platform-tools
- 部署安卓模拟器并完成 ADB 联调
- 连接真实安卓设备进行 USB 调试
- 安装 Appium Server 与 MitmProxy
- 验证全链路环境连通性
本章知识点
- Python 开发环境配置
- Android SDK 与 ADB 工具
- 安卓模拟器部署与联调
- 真机 USB 调试
- Appium / MitmProxy 环境准备
第四章:移动端爬虫必备自动化工具 Appium 初探
教学目标
- 了解 Appium 的工作原理与核心优势
- 完成 Appium 的安装与配置
- 理解 Appium 架构与工作流程
- 掌握 Appium Inspector 的安装与界面布局分析
学习痛点
- 不了解 Appium 是什么,不知道它在移动端爬虫中的作用
- Appium 安装配置踩坑多
- 不知道怎么定位 App 界面中的元素
章节内容
4.1 Appium 简介
- Appium 简介:移动端爬虫的核心工具解析(04:52)
- Appium vs 其他移动端自动化工具
- Appium 在爬虫中的应用场景:UI 自动化操作 → 触发数据加载 → 抓包获取数据
4.2 Appium 安装与配置
- Appium 安装与配置:快速搭建移动端爬虫开发环境(09:58)
- Appium Server / Appium Desktop / Appium Client
- 依赖项:Node.js / Appium Doctor / UIAutomator2 / XCUITest
- 常见安装问题排查
4.3 Appium 架构
- Appium 架构介绍:深入理解Appium的工作机制(04:16)
- Appium 架构:Client/Server 模型
- Session 机制:Desired Capabilities
- 驱动层:UIAutomator2 (Android) / XCUITest (iOS)
- Appium 与 WebDriver 协议的关系
4.4 Appium Inspector
- Android界面布局工具:Appium-Inspector安装和测试(07:01)
- Appium Inspector 启动与连接
- 界面元素树(DOM Tree)查看
- 元素属性检查:resource-id / class / content-desc / text
- 定位策略生成:XPath / ID / Accessibility ID
本章知识点
- Appium 工作原理与架构(Client/Server / Session / 驱动层)
- Appium 安装与配置全流程
- Desired Capabilities 配置
- Appium Inspector 界面分析与元素定位
第五章:熟悉 Appium 的常用操作
教学目标
- 掌握多种元素定位策略(ID / XPath / Accessibility ID / Class / CSS / Link)
- 掌握点击、文本输入、清除文本等基础操作
- 掌握显式等待确保元素可交互
- 掌握元素属性提取技巧
学习痛点
- 元素定位不准,脚本频繁报错找不到元素
- 不清楚各种定位策略的适用场景
- 操作时机不对,元素还没加载就点击了
- 不知道怎么从 App 界面中提取需要的数据
章节内容
5.1 元素定位策略
5.1.1 ID 定位
- ID定位:基于属性ID,静态页面首选(08:32)
resource-id属性定位- 适用场景:固定 ID 的 UI 元素
- 优势:速度快、唯一性好
5.1.2 XPath 定位
- XPath定位:XML路径表达式,支持动态元素(13:22)
- 绝对路径 vs 相对路径
- 轴定位:parent / child / following-sibling
- 属性组合定位:
[@resource-id='xxx' and @text='yyy'] - 适用场景:动态 ID、复杂层级结构
5.1.3 Accessibility ID 定位
- Accessibility ID:移动端及无障碍优化(07:01)
content-desc属性定位- 跨平台兼容:Android / iOS 通用
- 适用场景:无障碍标签完善的 App
5.1.4 Class 定位
- Class定位:批量定位同类元素(13:29)
class属性定位- 批量定位:
find_elements_by_class_name - 适用场景:列表页同类元素批量抓取
5.1.5 CSS 定位
- CSS定位:语法简洁,性能优异(17:29)
- CSS Selector 在移动端的应用
- 适用场景:WebView 内的 H5 页面
5.1.6 Link 与 Partial Link 定位
- Link定位:完全匹配超链接文本(06:18)
- Partial Link:模糊匹配链接片段(09:53)
- 适用场景:WebView 中的链接元素
5.2 基础操作
5.2.1 点击操作
- 点击操作:显式等待确保可交互(17:03)
click()方法- 显式等待:
WebDriverWait+expected_conditions element_to_be_clickable/presence_of_element_located- 隐式等待 vs 显式等待的区别
5.2.2 文本输入
- 文本输入:处理虚拟键盘与加密输入(21:04)
send_keys()方法- 虚拟键盘弹出与隐藏
- 加密输入框处理
- 输入法切换与中文输入
5.2.3 清除文本
- 清除文本:快速清理输入框内容的操作方法(07:34)
clear()方法- 应用场景:表单重置、搜索框清空
5.3 元素属性提取
- 获取元素属性:提取UI核心值的实用技巧(16:31)
get_attribute()方法- 常用属性:text / resource-id / content-desc / class / bounds
location与size:元素坐标与尺寸- 数据提取与结构化处理
本章实战要点
- 6 种定位策略的选型决策树
- 显式等待保障脚本稳定性
- 从 UI 元素中提取结构化数据
本章知识点
- 元素定位策略(ID / XPath / Accessibility ID / Class / CSS / Link / Partial Link)
- 显式等待与隐式等待
- 点击 / 文本输入 / 清除文本操作
- 虚拟键盘与加密输入处理
- 元素属性提取与数据结构化
第六章:掌握 Appium 的内置功能
教学目标
- 掌握复合手势链式触发(长按、拖拽)
- 实现智能滚动策略(动态加载与边界检测)
- 掌握多点触控同步操作
- 掌握应用生命周期控制(冷热启动、后台调度)
- 实现多任务切换与进程管理
- 掌握屏幕截图与通知栏操控
- 实现虚拟定位
学习痛点
- 复杂手势操作(长按、拖拽、多指触控)不会写
- 滑动加载更多时不知道什么时候停
- 多 App 之间切换操作混乱
- 截图、通知栏操作等高级功能不会用
章节内容
6.1 复合手势
- 长按与拖拽:复合手势链式触发核心技术(27:46)
TouchAction/W3C ActionsAPI- 长按(long_press)→ 等待 → 释放
- 拖拽(long_press → move_to → release)
- 手势链(chain)组合:tap → wait → long_press → move_to → release
6.2 智能滚动
- 智能滚动策略:动态加载与边界自适应控制逻辑(16:48)
swipe()/scroll()方法- 垂直/水平滑动
- 边界检测:滑动前后元素对比
- 动态加载场景:滑动到底部自动加载更多
- 防检测:随机滑动距离与间隔
6.3 多点触控
- 多点触控同步:多指坐标映射 (1)(21:11)
- 多点触控同步:多指坐标映射 (2)(21:32)
MultiActionAPI- 多指同时触摸与释放
- 缩放手势(pinch / zoom)
- 旋转手势
6.4 应用生命周期控制
- 应用生命周期控制:冷热启动与后台资源调度策略(07:46)
- 冷启动(cold start)vs 热启动(hot start)
launch_app()/close_app()/reset_app()- 后台切换:
background_app(seconds) - 应用安装与卸载:
install_app()/remove_app() - 应用状态检测:
is_app_installed()/query_app_state()
6.5 多任务切换
- 多任务切换逻辑:进程栈管理与应用上下文保活方案(07:57)
start_activity()启动指定 Activity- 当前运行 Activity/Package 获取
- 多 App 协同:App A 操作 → 切换 App B → 返回 App A
- 进程栈管理与上下文保活
6.6 屏幕截图
- 屏幕帧捕获技术:渲染层截取与界面状态同步机制(19:17)
get_screenshot_as_file()/get_screenshot_as_base64()- 全屏截图 vs 元素截图
- 截图与界面状态同步
- 应用场景:异常捕获、视觉验证、数据留证
6.7 通知栏操控
- 通知栏操控模拟:折叠式消息响应与权限穿透方案(19:17)
open_notifications()打开通知栏- 通知栏元素定位与操作
- 通知权限处理
- 应用场景:自动处理推送通知、权限弹窗
6.8 虚拟定位
- 虚拟定位引擎:地理围栏漂移与多源定位融合策略(13:20)
set_location()设置 GPS 坐标- 模拟器虚拟定位
- 地理围栏漂移模拟
- 应用场景:基于位置的数据采集
本章实战项目
项目名称:Appium 高级操作工具箱
项目内容:
- 封装复合手势操作工具(长按、拖拽、多指触控)
- 实现智能滑动加载器(边界检测 + 防检测)
- 实现应用生命周期管理器(冷热启动、后台切换)
- 实现多任务协同操作流程
- 实现截图与通知栏自动化处理
- 实现虚拟定位功能
本章知识点
- 复合手势链式触发(TouchAction / W3C Actions)
- 智能滚动与边界检测
- 多点触控(MultiAction)
- 应用生命周期(冷热启动 / 后台调度)
- 多任务切换与进程栈管理
- 屏幕截图技术
- 通知栏操控
- 虚拟定位与地理围栏
第七章:爬虫项目之移动端短视频实战【Appium 关联实战】
教学目标
- 将 Appium 所学知识应用到真实短视频平台
- 实现视频元数据高效采集(XPath + Appium 协同)
- 构建本地数据库存储采集数据
- 实现批量数据入库与事务管理
- 优化自动化流程(滑动加载 + 防检测)
学习痛点
- 学了 Appium 操作但不知道怎么组合用到真实场景
- 采集的数据不知道怎么存储
- 自动化流程不稳定,容易触发反爬
章节内容
7.1 采集方案设计
- 移动端实战Part01:热门视频信息采集方案解析(16:23)
- 采集目标:视频标题、作者、点赞数、评论数、分享数
- 采集策略:滑动浏览 → 元素定位 → 属性提取 → 去重 → 存储
- 反爬考虑:滑动间隔随机化、操作模拟真人
7.2 视频元数据采集
- Appium与XPath协同实现视频元数据高效采集(1)(25:16)
- Appium与XPath协同实现视频元数据高效采集(2)(25:09)
- XPath 定位视频卡片元素
- 批量提取:
find_elements()遍历列表 - 去重策略:视频 ID 去重
- 异常处理:元素不存在 / 加载延迟
7.3 本地数据库构建
- 本地数据库构建:关系型数据库部署与应用实践(21:26)
- SQLite / MySQL 数据库选型
- 表结构设计:videos 表(id, title, author, likes, comments, shares, url, create_time)
- 数据库连接与 ORM 封装
7.4 数据存储对接
- 数据存储对接:批量数据入库与事务管理机制(16:39)
- 批量插入:
executemany() - 事务管理:
commit()/rollback() - 数据去重:
INSERT OR REPLACE/ON DUPLICATE KEY UPDATE - 存储验证:查询确认
7.5 流程优化
- 自动化流程优化:滑动加载与防检测机制集成(11:31)
- 滑动加载:自动滑到底部加载更多
- 防检测:随机间隔、模拟手势轨迹
- 异常恢复:弹窗处理、网络超时重试
- 采集进度持久化:断点续采
本章实战项目
项目名称:短视频热门视频信息采集系统
项目内容:
- 设计视频元数据采集方案
- 使用 Appium + XPath 实现元素定位与数据提取
- 构建 SQLite/MySQL 数据库存储
- 实现批量数据入库与事务管理
- 集成滑动加载与防检测机制
- 支持断点续采与异常恢复
本章知识点
- Appium + XPath 协同采集实战
- 视频元数据提取(标题/作者/点赞/评论/分享)
- 关系型数据库设计(SQLite/MySQL)
- 批量入库与事务管理
- 滑动加载与防检测机制
- 断点续采与异常恢复
第八章:熟悉 App 爬虫神器 — MitmProxy 核心功能
教学目标
- 理解 MitmProxy 的核心原理(中间人攻击与流量解密)
- 掌握 MitmProxy 组件架构(命令行 / Web 界面 / 脚本引擎)
- 对比 MitmProxy 与 Fiddler / Charles / Wireshark 的差异
- 完成 MitmProxy 跨平台安装与证书配置
- 掌握 HTTPS 解密原理与 CA 证书信任链
- 实现代理策略定制(正向 / 透明 / 反向代理)
- 掌握流量捕获、请求解析、请求篡改、响应模拟
- 实现流量筛选、高效检索、阻断控制与请求重放
学习痛点
- 不理解中间人攻击原理,对 HTTPS 抓包感到困惑
- 证书配置总是失败,HTTPS 流量解密不了
- 抓包工具太多,不知道该选哪个
- 抓到的流量不知道怎么筛选和处理
章节内容
8.1 MitmProxy 原理与架构
- mitmproxy 核心原理:中间人攻击与流量解密机制(09:43)
- MITM(Man-In-The-Middle)攻击原理
- HTTPS 流量拦截与解密流程
- 证书伪造与信任链
- 组件架构解析:命令行/Web界面/脚本引擎协同工作(04:23)
mitmproxy:命令行交互界面mitmweb:Web 可视化界面mitmdump:无界面脚本模式- 脚本引擎:Python 插件扩展
8.2 工具对比与安装
- 代理工具对比评测:Fiddler/Charles/Wireshark功能差异(08:09)
- Fiddler:Windows 平台、UI 友好、脚本扩展
- Charles:跨平台、Mac 首选、SSL 解密
- Wireshark:网络层抓包、协议分析、不适合应用层
- MitmProxy:Python 生态、脚本化、自动化友好
- 环境快速部署:跨平台安装与依赖配置指南(05:22)
- pip install mitmproxy
- Docker 部署方案
- 版本选择与兼容性
8.3 HTTPS 解密与证书配置
- HTTPS解密原理:CA证书生成与信任链配置(15:47)
- MitmProxy CA 证书生成
- 证书信任链:Root CA → Intermediate CA → Server Cert
- 证书安装到系统/浏览器/Android 设备
- 代理策略定制:正向/透明/反向代理模式实战(16:24)
- 正向代理:客户端配置代理
- 透明代理:网关层拦截
- 反向代理:服务端代理
- 代理证书配置:Windows/macOS/Linux环境适配(18:40)
- Windows 证书安装
- macOS Keychain 信任配置
- Android 设备证书安装
- iOS 设备证书安装
8.4 服务启动与流量捕获
- 服务启动方案:命令行、Web界面、脚本集成模式(04:00)
mitmproxy -p 8080mitmweb --web-port 8081mitmdump -w output.flows
- 流量捕获技术:HTTP/HTTPS实时监听与协议解析(12:36)
- 实时流量列表查看
- 请求/响应详情面板
- WebSocket 流量捕获
- 协议解析:HTTP/1.1 / HTTP/2
8.5 请求深度解析
- 请求深度解析:Header、Body、Cookie结构拆解(1)(15:08)
- 请求深度解析:Header、Body、Cookie结构拆解(2)(14:03)
- Request Headers 结构分析
- Request Body 格式:JSON / Form-Data / Multipart
- Cookie 结构与 Session 关联
- Response Headers 与 Body 解析
- 编码识别与解码
8.6 请求篡改
- 请求篡改技术:Header、Body动态编辑策略(1)(14:01)
- 请求篡改技术:Header、Body动态编辑策略(2)(11:37)
- 修改 Request Headers(User-Agent / Referer / Authorization)
- 修改 Request Body(参数注入 / 数据替换)
- 修改 Response(状态码 / 响应内容替换)
- 篡改规则与触发条件
8.7 响应模拟
- 响应模拟方案:状态码内容实时替换技术(1)(14:21)
- 响应模拟方案:状态码内容实时替换技术(2)(13:14)
- 自定义 Response 状态码
- 响应体替换(Mock 数据)
- 延迟响应模拟
- 应用场景:接口测试 / Mock Server
8.8 流量筛选与检索
- 流量筛选机制:正则表达式与逻辑运算符实战(17:26)
- URL 正则筛选:
~u "api/video" - 域名筛选:
~d "example.com" - 方法筛选:
~m POST - 内容筛选:
~b "keyword" - 逻辑组合:
&(AND)/|(OR)/!(NOT)
- URL 正则筛选:
- 高效检索方案:多条件组合搜索技巧(27:08)
- 组合搜索:域名 + 路径 + 方法 + 内容
- 搜索历史与书签
- 流量标签与分组
8.9 流量阻断与请求重放
- 流量阻断控制:断点调试与条件拦截策略(15:39)
- 断点设置:请求断点 / 响应断点
- 条件拦截:基于 URL / Header / Body 内容
- 拦截后操作:放行 / 修改 / 丢弃
- 请求重放机制:定时、批量重放测试(1)(20:20)
- 请求重放机制:定时、批量重放测试(2)(19:42)
- 单次重放:
r键快速重放 - 批量重放:选中多个请求同时重放
- 定时重放:按时间间隔重复发送
- 重放修改:编辑请求后重放
- 应用场景:接口压测 / 重复请求验证
- 单次重放:
本章实战项目
项目名称:MitmProxy 全功能流量分析工作站
项目内容:
- 配置 MitmProxy 代理与 HTTPS 证书
- 实现移动端 App 流量捕获
- 深度解析请求/响应结构
- 实现请求篡改与响应模拟
- 构建流量筛选与检索方案
- 实现条件拦截与请求重放
- 对比 MitmProxy 与 Fiddler/Charles 的差异
本章知识点
- MITM 中间人攻击原理与 HTTPS 解密
- MitmProxy 组件架构(mitmproxy / mitmweb / mitmdump)
- 代理工具对比选型(MitmProxy / Fiddler / Charles / Wireshark)
- CA 证书生成与跨平台配置
- 代理模式(正向 / 透明 / 反向)
- 流量捕获与协议解析(HTTP/1.1 / HTTP/2 / WebSocket)
- 请求/响应深度解析(Header / Body / Cookie)
- 请求篡改与响应模拟
- 流量筛选(正则 / 逻辑运算符 / 多条件组合)
- 断点调试与条件拦截
- 请求重放(批量 / 定时 / 修改后重放)
第九章:掌握 MitmProxy 的核心组件应用
教学目标
- 掌握 mitmdump 命令行流量分析
- 掌握 mitmweb Web 界面可视化操作
- 实现网络监控全链路实时捕获与诊断
- 掌握抓包数据多维建模与特征提取
学习痛点
- mitmdump 命令行参数多,不知道怎么用
- 抓到的数据不知道怎么建模和分析
- 网络问题排查没有系统方法
章节内容
9.1 mitmdump 实战
- mitmdump实战指南:命令行高效流量分析(1)(16:10)
- mitmdump实战指南:命令行高效流量分析(2)(17:12)
mitmdump基本用法与参数- 过滤表达式:
~u/~d/~m/~b - 流量保存与加载:
-w/-r - 脚本集成:
-s script.py - 无界面服务器部署
9.2 mitmweb 应用
- mitmweb应用解析:Web界面可视化操作实践(13:47)
- Web 界面布局与功能
- 实时流量监控
- 请求/响应详情查看
- 流量搜索与筛选
- 导出数据(HAR / RAW)
9.3 网络监控全链路
- 网络监控全链路:实时流量捕获与诊断技术(1)(14:55)
- 网络监控全链路:实时流量捕获与诊断技术(2)(16:34)
- 全链路监控:DNS → TCP → TLS → HTTP
- 网络延迟诊断
- 请求/响应时间分析
- 错误流量识别与分类
- 性能瓶颈定位
9.4 数据解析与建模
- 数据解析实战:抓包数据多维建模与特征提取(1)(17:13)
- 数据解析实战:抓包数据多维建模与特征提取(2)(13:11)
- 抓包数据结构化:JSON / CSV / 数据库
- 多维数据建模:时间维度 / 域名维度 / 接口维度
- 特征提取:请求频率 / 数据量 / 响应时间
- 数据可视化前置处理
本章实战项目
项目名称:MitmProxy 组件应用与流量分析平台
项目内容:
- 使用 mitmdump 实现自动化流量分析
- 使用 mitmweb 构建可视化监控界面
- 实现全链路网络监控与诊断
- 抓包数据多维建模与特征提取
- 结构化数据导出(JSON / CSV / 数据库)
本章知识点
- mitmdump 命令行工具(过滤 / 保存 / 脚本集成)
- mitmweb 可视化界面
- 全链路网络监控与诊断
- 抓包数据多维建模
- 特征提取与数据结构化
第十章:提升 MitmProxy 的高阶开发能力
教学目标
- 掌握抓包技术在爬虫中的核心应用
- 掌握安全分析与漏洞挖掘基础
- 实现 MitmProxy 插件开发
- 掌握 HTTPS 证书信任常见问题解决
- 实现代理连接故障诊断与性能调优
学习痛点
- 只会用 MitmProxy 现成功能,不会自定义扩展
- 遇到证书/连接问题不知道怎么排查
- 插件开发没有经验
章节内容
10.1 抓包技术核心应用
- 移动端爬虫技巧:抓包技术解析与案例(11:56)
- App 抓包核心流程:配置代理 → 安装证书 → 捕获流量
- 常见 App 抓包场景与案例
- 抓包数据与爬虫脚本结合
- 安全分析与漏洞挖掘:抓包工具的安全审计应用(06:55)
- 接口安全审计
- 敏感数据泄露检测
- 通信加密强度评估
- 数据抓取实践:抓包技术在爬虫中的核心应用(14:23)
- 从抓包到爬虫:接口逆向 → 参数构造 → 数据采集
- Appium + MitmProxy 协同:自动化操作 + 流量捕获
10.2 插件开发
- 插件开发实战指南:mitmproxy功能扩展技巧(05:57)
- 插件架构:事件驱动模型
- 核心事件:
request/response/error - 插件注册与生命周期
- mitmproxy插件开发:基础流程与实践(1)(19:49)
- mitmproxy插件开发:基础流程与实践(2)(19:47)
- 插件开发完整流程:需求分析 → 事件绑定 → 逻辑实现 → 测试验证
- 自定义请求/响应处理
- 数据提取与持久化
- 插件调试技巧
- 实战插件:自动提取视频元数据
10.3 安全与合规
- 安全风险防范:抓包工具合规操作指南(07:47)
- 抓包法律边界与合规要求
- 数据隐私保护
- 授权抓包原则
10.4 故障诊断与性能调优
- HTTPS证书信任:常见问题与解决方案(08:04)
- 证书不受信任问题
- Android 7+ 证书限制
- 证书绑定(Certificate Pinning)绕过
- Frida + Objection 方案
- 代理连接故障诊断:问题定位与修复策略(10:45)
- 连接超时排查
- 代理不生效排查
- 流量捕获不完整排查
- 性能调优策略:抓包工具高效运行方法(06:29)
- 大流量场景性能优化
- 内存管理与流量过滤
- 多实例并行抓包
10.5 实战场景
- 实战场景解析:抓包工具的多领域应用(13:07)
- 爬虫数据采集
- 接口测试与 Mock
- 安全审计
- 性能分析
本章实战项目
项目名称:MitmProxy 自定义插件开发
项目内容:
- 分析爬虫抓包需求
- 设计插件架构与事件绑定
- 实现请求/响应自动处理插件
- 实现数据提取与持久化
- 插件调试与性能优化
- 解决证书绑定等常见问题
本章知识点
- 抓包技术在爬虫中的核心应用流程
- 安全分析与漏洞挖掘基础
- MitmProxy 插件开发(事件驱动 / request / response / error)
- 插件调试与测试
- HTTPS 证书信任问题与 Certificate Pinning 绕过
- 代理连接故障诊断
- 性能调优策略
- 抓包合规操作指南
第十一章:爬虫项目之移动端短视频实战【短视频热门话题视频采集与存储技术全链路解析】
教学目标
- 系统掌握从接口逆向到数据落地的完整技术链路
- 掌握短视频 API 逆向工程(请求参数捕获与接口分析)
- 实现接口参数逆向与视频列表关键字段解析
- 掌握元数据提取与直链定位技术
- 实现基于 MinIO 的分布式存储架构
- 实现异步处理与视频下载
- 掌握基于 HLS 的视频流存储方案
学习痛点
- 只能通过 Appium 界面操作采集,效率太低
- 不知道怎么逆向分析 App 的 API 接口
- 视频文件存储方案不会设计
- 直播流/视频流不知道怎么抓取和存储
章节内容
11.1 采集方案设计
- 移动端实战Part02:实时视频流动态采集方案(11:37)
- Appium 自动化操作触发接口请求
- MitmProxy 捕获 API 响应数据
- Appium + MitmProxy 协同方案
11.2 API 逆向工程
- 短视频API逆向工程:请求参数捕获与接口分析(24:47)
- 抓包定位视频列表 API
- 请求参数分析:headers / query / body
- 签名参数识别与生成逻辑推断
- 接口响应结构分析
- 接口参数逆向:视频列表关键字段解析技术(12:25)
- 分页参数:cursor / offset / page
- 排序参数:sort / order
- 筛选参数:topic / tag / category
- 参数加密/签名处理
11.3 数据精准提取
- 元数据解析:标题/作者/点赞数据精准提取(16:59)
- JSON 响应解析与字段映射
- 嵌套结构提取
- 数据清洗与标准化
- 资源定位技术:直链与封面地址高效解析(23:28)
- 视频直链(URL)提取
- 封面图地址提取
- 直链时效性处理
- 下载地址解码(如有加密)
11.4 分布式存储架构
- 分布式存储架构:基于MinIO的私有化部署(22:25)
- MinIO 简介:开源对象存储系统
- MinIO vs AWS S3 vs 本地文件系统
- MinIO 安装与私有化部署
- Bucket 创建与访问策略
- Python SDK:
minio库
11.5 异步处理与视频下载
- 高效处理:异步处理数据和视频下载(1)(32:02)
- 高效处理:异步处理数据和视频下载(2)(03:24)
asyncio+aiohttp异步下载- 并发控制:
Semaphore限制并发数 - 下载重试与断点续传
- 下载进度追踪
- 视频文件完整性校验(MD5/SHA)
11.6 MinIO 存储方案
- 高效存储:基于MinIO的短视频存储方案(1)(19:17)
- 高效存储:基于MinIO的短视频存储方案(2)(18:18)
- 视频文件上传到 MinIO
- 文件命名规范:
bucket/topic/date/video_id.mp4 - 元数据与文件关联存储
- 存储空间管理与清理策略
11.7 HLS 视频流存储
- 适合抓直播哟:基于HLS的视频流存储方案(1)(21:58)
- 适合抓直播哟:基于HLS的视频流存储方案(2)(25:43)
- HLS 协议原理:m3u8 播放列表 + ts 分片
- m3u8 解析与 ts 分片地址提取
- 批量下载 ts 分片
- ts 分片合并为 MP4(ffmpeg)
- 直播流录制与存储
本章实战项目
项目名称:短视频热门话题视频采集与存储全链路系统
项目内容:
- Appium + MitmProxy 协同采集方案
- 短视频 API 逆向分析与参数解析
- 视频元数据与直链提取
- MinIO 分布式存储部署
- 异步视频下载(asyncio + aiohttp)
- 视频文件入 MinIO 存储
- HLS 直播流抓取与合并(m3u8 + ts → MP4)
- 存储管理与清理策略
本章知识点
- Appium + MitmProxy 协同采集方案
- API 逆向工程(参数捕获 / 接口分析 / 签名推断)
- 接口参数逆向与分页处理
- 元数据提取与直链定位
- MinIO 对象存储私有化部署
- 异步下载(asyncio + aiohttp + Semaphore)
- 视频文件校验与管理
- HLS 协议(m3u8 + ts 分片)与直播流录制
- ffmpeg 视频合并
第十二章:安卓群控系统架构与自动化项目
教学目标
- 设计并实现完整的安卓群控系统架构
- 实现多模拟器实例化连接与标准化配置
- 实现模拟器自动解锁与密码输入
- 掌握面向对象重构方案
- 实现应用层自动化操作框架
- 实现多进程优化与多实例并行控制
- 实现模拟器集群动态管理与健康监测
- 构建系统级多级日志存储方案
学习痛点
- 单设备操作效率太低,需要多设备并行
- 多模拟器管理混乱,不知道怎么系统化控制
- 面向对象设计能力不足,代码难以维护
- 多进程/多实例控制不稳定
章节内容
12.1 系统设计
- 安卓群控系统架构与自动化项目介绍(07:28)
- 需求分析与技术方案设计(07:30)
- 群控系统目标:多模拟器并行自动化操作
- 架构设计:管理层 → 控制层 → 执行层
- 技术方案:Python + Appium + 多进程 + 多模拟器
12.2 模拟器连接管理
- 模拟器连接参数配置与标准化(06:56)
- 端口分配策略:每模拟器独立端口
- ADB 连接参数标准化
- 基于脚本的模拟器实例化连接(05:33)
- 批量启动模拟器
- ADB 自动连接
- 连接状态验证
12.3 自动解锁
- 模拟器屏幕锁状态检测机制(08:19)
- 屏幕亮灭状态检测
- 锁屏状态判断
- 模拟器自动化解锁流程实现(15:05)
- 滑动解锁手势
- 解锁流程封装
- Keycode映射表密码输入方案-1(11:00)
- Keycode映射表密码输入方案-2(17:48)
- Android KeyCode 映射表
keyevent密码输入- 数字密码 / 图形密码 / 混合密码
- 智能锁屏状态检测与自动解锁优化(10:48)
- 解锁失败重试机制
- 多种锁屏类型适配
12.4 面向对象重构
- 脚本代码面向对象重构方案(17:40)
- 从脚本到面向对象的演进
- 类设计:属性 + 方法 + 继承
- 应用层类继承模拟器基类实现(18:13)
- 基类
BaseEmulator:连接 / 解锁 / 截图 - 子类
AppEmulator:应用操作
- 基类
12.5 应用自动化框架
- 模拟器内应用连接参数配置(08:30)
- Appium Desired Capabilities 配置
- 应用包名与 Activity 指定
- 用户协议自动化确认功能实现(07:12)
- 首次启动弹窗处理
- 用户协议自动同意
- 四向滑动手势操作封装实现(13:06)
- 上下左右滑动封装
- 滑动参数可配置
- 模拟器内应用自动化操作框架-1(14:57)
- 模拟器内应用自动化操作框架-2(14:58)
- 应用操作框架设计
- 操作流程:启动 → 登录 → 浏览 → 采集 → 退出
- 非初始化状态应用冷启动方案(11:36)
- 应用已安装 vs 首次安装
- 冷启动 vs 热启动
- 全链路联调:模拟器重启至应用自动化(12:54)
- 端到端流程验证
- 异常处理与恢复
12.6 多进程与多实例控制
- 现有技术方案局限性分析(04:38)
- 单进程串行执行的瓶颈
- 多进程优化与多实例模拟器控制(10:25)
multiprocessing多进程方案- 进程间通信:Queue / Pipe
- 资源隔离与并发控制
12.7 Appium 服务集成
- 模拟器类Appium服务集成方案(21:35)
- 每模拟器独立 Appium Server
- 端口分配与管理
- Appium 服务自动启动/停止
- 模拟器实例自动化发现机制-1(13:09)
- 模拟器实例自动化发现机制-2(13:58)
- 自动扫描可用模拟器
- 动态注册与注销
12.8 集群管理与健康监测
- 模拟器集群动态管理与维护(16:25)
- 集群状态总览
- 模拟器增删改查
- 负载均衡
- 模拟器进程接入和健康监测(27:55)
- 心跳检测
- 异常进程自动重启
- 资源占用监控(CPU / 内存)
- 系统联调:自动化管理与进程维持(17:16)
- 全系统联调
- 故障恢复
12.9 日志与可视化
- 系统级联:系统多级日志存储方案(17:45)
- 日志分级:DEBUG / INFO / WARNING / ERROR
- 多级存储:内存 → 文件 → 数据库
- 日志轮转与清理
- 架构升级:数据存储和可视化界面方案介绍(13:57)
- 数据存储升级
- 可视化界面规划(Streamlit)
本章实战项目
项目名称:安卓多模拟器群控系统
项目内容:
- 设计群控系统架构(管理 → 控制 → 执行)
- 实现多模拟器批量连接与标准化配置
- 实现自动解锁(滑动 + KeyCode 密码输入)
- 面向对象重构(BaseEmulator → AppEmulator)
- 实现应用自动化操作框架
- 实现多进程并行控制
- 集成独立 Appium Server
- 实现模拟器集群动态管理与健康监测
- 构建多级日志存储系统
本章知识点
- 群控系统架构设计
- 多模拟器连接与端口分配
- 屏幕锁检测与自动解锁(KeyCode 映射表)
- 面向对象重构(基类继承 / 封装)
- 应用自动化操作框架
- 多进程并行控制(
multiprocessing) - Appium 服务集成与端口管理
- 模拟器实例自动发现
- 集群动态管理与负载均衡
- 健康监测与故障恢复(心跳检测 / 自动重启)
- 多级日志存储方案
第十三章:Streamlit 可视化数据分析
教学目标
- 了解 Streamlit 核心特性与部署方式
- 掌握文本展示与交互组件(按钮 / 输入框 / 滑动条)
- 掌握结构化数据呈现(交互式表格)
- 掌握数据可视化(折线图 / 柱状图)
- 掌握界面优化(侧边栏 / 多列 / 容器)
- 掌握动态交互机制(回调函数 / 会话状态)
- 掌握多媒体嵌入(图片 / 音频 / 视频)
学习痛点
- 采集到的数据没有可视化界面,难以直观分析
- 前端开发能力弱,不知道怎么快速搭建数据看板
- 数据展示交互性差,筛选排序不方便
章节内容
13.1 Streamlit 简介
- 数据应用构建利器:Streamlit核心特性与部署(04:37)
- Streamlit vs Dash vs Gradio 对比
- 核心特性:纯 Python、无需前端知识、热重载
- 部署方式:本地 / Streamlit Cloud / Docker
13.2 文本展示
- 文本展示技术:标题与段落的多级呈现方法(16:00)
st.title()/st.header()/st.subheader()st.markdown()Markdown 渲染st.code()代码块st.text()纯文本
13.3 交互组件
- 交互触发机制:按钮组件的事件响应设计(09:08)
st.button()按钮- 事件响应与回调
- 数据采集入口:文本输入框的验证与实时反馈(17:31)
st.text_input()/st.text_area()- 输入验证与实时反馈
st.number_input()数值输入
- 数值调节方案:滑动条的范围控制与动态响应(12:20)
st.slider()/st.select_slider()- 范围滑动与动态响应
13.4 结构化数据呈现
- 结构化数据呈现:交互式表格的筛选与排序功能(13:10)
st.dataframe()Pandas DataFrame 展示st.table()静态表格st.data_editor()可编辑表格- 列配置与格式化
13.5 数据可视化
- 数据可视化实现:折线图柱状图的动态生成方法(24:39)
st.line_chart()/st.bar_chart()/st.area_chart()st.pyplot()Matplotlib 集成st.plotly_chart()Plotly 交互式图表st.altair_chart()Altair 声明式图表
13.6 界面优化
- 界面优化策略:侧边栏控件的层级布局方案(08:22)
st.sidebar()侧边栏- 控件分组与层级设计
- 高级布局方案:多列容器的响应式对齐技巧(11:52)
st.columns()多列布局- 响应式对齐
- 内容组织架构:容器组件的嵌套逻辑与扩展器应用(12:11)
st.container()容器st.expander()折叠展开器st.tabs()标签页st.divider()分隔线
13.7 动态交互
- 动态交互机制:回调函数的事件绑定(21:42)
on_change/on_click回调st.session_state状态管理- 表单提交:
st.form()
- 会话状态管理:跨组件数据持久化解决方案(07:27)
st.session_state读写- 跨页面状态传递
- 状态初始化与更新
13.8 多媒体嵌入
- 多媒体嵌入技术:图片自适应展示与格式兼容方案(15:20)
st.image()图片展示- 本地图片 / URL 图片 / Base64 图片
- 自适应宽度与 captions
- 音频播放方案:流媒体加载与播放控制集成(10:00)
st.audio()音频播放- 支持格式:WAV / MP3 / OGG
- 音频数据处理与可视化
- 视频集成方案:嵌入式播放器与视频解析(16:42)
st.video()视频播放- 本地视频 / URL 视频
- 采集视频预览与元数据联动
本章实战项目
项目名称:短视频数据可视化看板
项目内容:
- 搭建 Streamlit 应用框架
- 实现数据表格展示与筛选排序
- 生成折线图/柱状图展示视频数据趋势
- 实现侧边栏参数控制
- 支持图片/视频预览
- 实现会话状态管理与交互
本章知识点
- Streamlit 核心特性与部署
- 文本展示(title / header / markdown / code)
- 交互组件(button / text_input / slider)
- 结构化数据呈现(dataframe / table / data_editor)
- 数据可视化(line_chart / bar_chart / pyplot / plotly)
- 界面优化(sidebar / columns / container / expander / tabs)
- 动态交互(回调函数 / session_state / form)
- 多媒体嵌入(image / audio / video)
第十四章:【Streamlit 实战】AI 交互与系统报告生成平台
教学目标
- 掌握 DeepSeek 模型集成与 Token 管理
- 实现 DeepSeek API 规范化调用
- 实现流式问答与对话交互界面
- 实现侧边栏预设问题配置
- 实现系统信息获取与前端展示
- 掌握数据可视化与图表生成
- 实现 PDF 报告导出
学习痛点
- 不知道怎么把大模型集成到自己的应用中
- 流式输出不知道怎么实现
- 系统报告不知道怎么生成和导出
章节内容
14.1 DeepSeek 模型交互
- DeepSeek 模型基础与 Token 管理机制(08:06)
- DeepSeek 模型简介与 API 体系
- Token 计算与管理
- 上下文长度与费用估算
- DeepSeek 请求头规范与接口调用方法(13:33)
- API Key 配置
- 请求头规范(Authorization / Content-Type)
- 请求体构造:model / messages / temperature
requests/openaiSDK 调用
- 实现流式问答与对话交互界面(20:35)
- 流式输出(streaming)原理
st.write_stream()流式渲染- 对话历史管理
- 多轮对话上下文维护
14.2 预设问题配置
- 侧边栏预设常见问题配置-1(16:52)
- 侧边栏预设常见问题配置-2(13:34)
st.sidebar预设问题列表- 快捷问题按钮
- 问题分类与检索
- 清空对话历史功能实现(08:23)
st.session_state清空- 对话重置与初始化
14.3 系统报告生成
- 系统信息获取与处理(12:38)
- 系统信息采集:CPU / 内存 / 磁盘 / 网络
psutil库应用- 爬虫系统运行状态采集
- 系统信息前端展示与排版(16:13)
st.metric()指标卡片st.columns()多列指标展示- 实时刷新与定时更新
- 系统数据可视化与图表生成(14:42)
- CPU/内存使用率折线图
- 采集数据量柱状图
- 错误率趋势图
- 自定义图表组件
- 系统报告导出为PDF功能(13:51)
- PDF 生成方案:ReportLab / WeasyPrint / FPDF
- 报告模板设计
- 图表嵌入 PDF
- 自动化报告生成与下载
本章实战项目
项目名称:AI 驱动的数据分析与报告平台
项目内容:
- 集成 DeepSeek API 实现智能问答
- 构建流式对话交互界面
- 实现预设问题与对话管理
- 采集系统运行信息并可视化
- 生成数据图表并嵌入报告
- 导出 PDF 系统报告
本章知识点
- DeepSeek 模型集成与 Token 管理
- API 规范化调用(请求头 / 请求体 / 响应解析)
- 流式输出(streaming)与
st.write_stream() - 多轮对话上下文管理
- 预设问题配置与对话清空
- 系统信息采集(
psutil) - Streamlit 指标卡片与实时展示
- 数据可视化图表生成
- PDF 报告导出(ReportLab / WeasyPrint)
第十五章:【Streamlit 实战】群控架构日志文件可视化项目
教学目标
- 构建群控日志可视化系统
- 实现侧边栏目录配置与日志自动读取
- 实现日期范围筛选与日志过滤
- 掌握日志文件自动解析处理流程
- 实现日志数量/级别/时间/函数调用多维度统计分析
- 生成可视化图表
学习痛点
- 群控系统产生的日志太多,人工查看效率低
- 日志格式不统一,解析困难
- 缺乏直观的日志分析工具
章节内容
15.1 项目概述
- 群控日志可视化项目核心功能概述(02:50)
- 项目目标:群控日志自动解析与可视化
- 功能模块:日志读取 → 解析 → 筛选 → 统计 → 可视化
15.2 日志读取与筛选
- 侧边栏目录配置与日志读取机制(18:50)
st.sidebar目录选择- 日志文件自动扫描与读取
- 多文件合并加载
- 自动日期范围设定与筛选功能(14:44)
- 日志日期自动识别
st.date_input()日期范围选择- 基于日期的日志过滤
- 日志文件自动解析处理流程(09:08)
- 日志格式解析(时间 / 级别 / 模块 / 消息)
- 正则表达式提取日志字段
- 解析异常处理
- 基于日期范围的日志过滤功能(08:50)
- 日期范围 + 关键词组合筛选
- 日志去重与排序
15.3 日志统计分析
- 日志数量与级别解析及页面渲染(10:41)
- 日志级别统计(DEBUG / INFO / WARNING / ERROR)
st.metric()指标展示- 分页展示日志详情
- 日志时间范围解析与时间分布图表生成(18:22)
- 时间分布分析:按小时/天统计
st.bar_chart()/st.line_chart()时间分布图- 高峰时段识别
- 基于函数调用的日志统计与图表可视化(07:32)
- 函数调用频次统计
- 函数调用错误率分析
- 模块维度统计分析
- 日志可视化项目总结与功能拓展方向(06:38)
- 功能回顾与总结
- 拓展方向:告警 / 导出 / 实时监控
本章实战项目
项目名称:群控日志可视化分析平台
项目内容:
- 搭建日志读取与目录配置界面
- 实现日志自动解析与日期筛选
- 实现日志级别/数量统计与展示
- 生成时间分布图表
- 实现函数调用维度统计分析
- 支持分页浏览与关键词搜索
本章知识点
- 日志文件自动扫描与读取
- 日志格式解析(正则表达式)
- 日期范围筛选与关键词组合过滤
- 日志级别统计与指标展示
- 时间分布分析与图表生成
- 函数调用维度统计
- Streamlit 分页展示与交互
第十六章:如何应对应用设置的反扒机制
教学目标
- 掌握协议逆向解析(通信链路拆解与加密算法重构)
- 实现流量仿真策略(客户端行为建模与特征复现)
- 对抗动态密钥(实时嗅探与解密算法动态反制)
- 实现设备指纹隐匿(多维特征融合与身份伪装)
- 掌握人机验证绕过(轨迹仿真与行为画像模拟)
学习痛点
- App 反爬机制越来越复杂,不知道怎么应对
- 加密参数被识别,请求被拒绝
- 设备指纹被追踪,账号被封禁
- 人机验证过不去
章节内容
16.1 协议逆向解析
- 协议逆向解析:通信链路拆解与加密算法重构技术(20:58)
- 通信协议拆解:TCP/UDP → TLS → HTTP → 自定义协议
- 加密算法识别:AES / DES / RSA / 自定义
- 加密逻辑逆向重构
- Frida 动态 Hook 辅助逆向
16.2 流量仿真
- 流量仿真策略:客户端行为建模与特征深度复现方案(12:06)
- 客户端行为建模:请求频率 / 间隔 / 顺序
- 特征复现:Headers / Body / Cookie 完整还原
- 行为序列模拟:浏览 → 点击 → 滑动 → 请求
- 流量特征与真实用户对齐
16.3 动态密钥对抗
- 动态密钥对抗:实时嗅探与解密算法动态反制机制(12:03)
- 动态密钥生成机制分析
- 实时嗅探密钥(Frida Hook)
- 解密算法动态反制
- 密钥轮转应对策略
16.4 设备指纹隐匿
- 设备指纹隐匿:多维特征融合与身份伪装实现方案(06:07)
- 设备指纹采集维度:IMEI / Android ID / MAC / 序列号
- 多维特征融合指纹生成
- 身份伪装:Xposed / Magisk / Frida
- 设备指纹随机化与一致性维护
16.5 人机验证绕过
- 人机验证绕过:轨迹仿真与行为画像动态模拟策略(12:58)
- 人机验证类型:滑块 / 点选 / 旋转 / 空间推理
- 轨迹仿真:贝塞尔曲线 + 随机抖动
- 行为画像模拟:人类操作节奏 / 误差模式
- 验证码识别服务集成(打码平台 / OCR)
本章实战项目
项目名称:App 反爬综合应对方案
项目内容:
- 逆向分析目标 App 通信协议与加密算法
- 构建客户端行为仿真模型
- 实现动态密钥实时嗅探与反制
- 实现设备指纹伪装与随机化
- 实现人机验证轨迹仿真
本章知识点
- 协议逆向解析(通信链路拆解 / 加密算法重构)
- Frida 动态 Hook 辅助逆向
- 流量仿真(行为建模 / 特征复现)
- 动态密钥对抗(实时嗅探 / 动态反制)
- 设备指纹隐匿(多维特征融合 / 身份伪装)
- Xposed / Magisk / Frida 框架
- 人机验证绕过(轨迹仿真 / 行为画像)
- 贝塞尔曲线轨迹生成
- 验证码识别服务集成
第十七章:课程总结
教学目标
- 系统回顾课程全部知识点
- 巩固从环境搭建到移动端爬虫实现的全流程技能
- 明确后续进阶方向
章节内容
17.1 课程总结
- 课程总结:从入门到实战的全方位回顾(16:19)
- 全链路回顾:环境 → Appium → MitmProxy → 群控 → Streamlit → 反爬
- 核心技术栈总结
- 实战项目回顾
- 学习成果检验
- 后续进阶方向建议
本章知识点
- 课程全链路知识体系回顾
- 移动端爬虫技术栈全景
- 后续进阶学习方向
附录
一、课程技术栈全景
| 技术领域 | 核心工具/技术 | 课程章节 |
|---|---|---|
| 移动端自动化 | Appium / Appium Inspector / ADB | 第4-7章 |
| 网络抓包 | MitmProxy / mitmdump / mitmweb | 第8-10章 |
| 接口逆向 | API 逆向 / 参数分析 / 签名推断 | 第11章 |
| 对象存储 | MinIO / S3 协议 | 第11章 |
| 异步处理 | asyncio / aiohttp / Semaphore | 第11章 |
| 视频流 | HLS / m3u8 / ts / ffmpeg | 第11章 |
| 群控系统 | multiprocessing / 进程管理 / 集群 | 第12章 |
| 数据可视化 | Streamlit / Matplotlib / Plotly | 第13-15章 |
| AI 模型 | DeepSeek / 流式输出 / Token 管理 | 第14章 |
| 反爬应对 | 协议逆向 / Frida / 设备指纹 / 轨迹仿真 | 第16章 |
二、五大实战项目汇总
| 序号 | 项目名称 | 核心章节 | 技术要点 |
|---|---|---|---|
| 1 | 短视频热门视频信息采集系统 | 第7章 | Appium + XPath + SQLite/MySQL + 防检测 |
| 2 | 短视频热门话题视频采集与存储全链路系统 | 第11章 | API 逆向 + MitmProxy + MinIO + asyncio + HLS |
| 3 | 安卓多模拟器群控系统 | 第12章 | 多进程 + 集群管理 + 健康监测 + OOP |
| 4 | AI 驱动的数据分析与报告平台 | 第14章 | DeepSeek + Streamlit + PDF 导出 |
| 5 | 群控日志可视化分析平台 | 第15章 | 日志解析 + 多维统计 + 图表可视化 |
三、学习路径建议
阶段一:基础入门(第1-3章)
├─ 课程导学与项目分析
├─ 环境搭建(Python / Android SDK / 模拟器 / 真机)
└─ 目标:搭建完整开发环境
阶段二:Appium 自动化(第4-7章)
├─ Appium 原理与安装
├─ 元素定位与操作
├─ 高级功能(手势 / 滚动 / 多点触控 / 生命周期)
└─ 实战:短视频信息采集
阶段三:MitmProxy 抓包与逆向(第8-11章)
├─ MitmProxy 核心功能
├─ 组件应用与高阶开发
├─ API 逆向工程
└─ 实战:视频采集与存储全链路
阶段四:群控与可视化(第12-15章)
├─ 安卓群控系统
├─ Streamlit 数据可视化
├─ AI 交互与报告生成
└─ 实战:日志可视化平台
阶段五:进阶与总结(第16-17章)
├─ App 反爬应对
└─ 课程总结与进阶方向四、与 PC 端爬虫课程对比
| 维度 | PC 端爬虫(课程519) | 移动端爬虫(课程973) |
|---|---|---|
| 目标平台 | Web 网站 | App 移动端 |
| 核心工具 | Requests / Selenium / Puppeteer | Appium / MitmProxy |
| 抓包方式 | Chrome DevTools / Fiddler | MitmProxy / mitmdump |
| 数据采集 | HTML 解析 / API 调用 | UI 自动化 + API 逆向 |
| 存储方案 | MySQL / Redis | MinIO / MySQL |
| 特色技术 | JS 逆向 / Cookie 池 / 代理池 | 群控 / HLS 流 / 设备指纹 |
| 可视化 | 无 | Streamlit + DeepSeek AI |
| 难度 | 高级 | 初级 |
| 时长 | 22.5 小时 | 36 小时 |
五、面试要点汇总
Appium 相关
- Appium 架构原理(Client/Server / Session / 驱动层)
- 6 种元素定位策略及适用场景
- 显式等待 vs 隐式等待
- 复合手势链式触发实现
MitmProxy 相关
- MITM 中间人攻击原理
- HTTPS 解密与 CA 证书配置
- 插件开发事件驱动模型
- Certificate Pinning 绕过方案
API 逆向相关
- 接口参数分析方法
- 签名参数生成逻辑推断
- 分页参数处理
- 加密参数解密
群控系统相关
- 多进程并行控制方案
- 模拟器集群管理架构
- 健康监测与故障恢复
- 面向对象设计模式应用
存储与异步相关
- MinIO 对象存储部署与使用
- asyncio + aiohttp 异步下载
- HLS 协议与 m3u8 解析
- ffmpeg 视频合并
可视化与 AI 相关
- Streamlit 核心组件使用
- session_state 状态管理
- DeepSeek API 集成
- 流式输出实现
- PDF 报告生成
反爬应对相关
- 协议逆向分析方法
- 设备指纹隐匿方案
- 动态密钥对抗策略
- 人机验证轨迹仿真