Skip to content

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章    课程总结

第一章:课程导学

教学目标

  1. 了解课程整体脉络、学习路线与项目背景
  2. 明确移动端爬虫的应用场景与职业价值

学习痛点

  • 不清楚移动端爬虫和 Web 爬虫的区别
  • 不知道学了能干什么,缺乏学习动力

章节内容

1.1 课程导学

  • 你的APP数据掘金之路,从这里正式开始(07:16)
  • 课程全链路:环境搭建 → 自动化控制 → 数据捕获 → 接口解析 → 群控调度 → 数据落地 → 可视化分析 → 反爬应对
  • 贯穿项目:短视频数据采集与分析平台

本章知识点

  • 移动端爬虫全链路技术栈概览
  • App 数据价值与应用场景
  • 课程学习路线与项目背景

第二章:移动端爬虫项目分析

教学目标

  1. 理解移动端爬虫的"逆向"学习法
  2. 掌握项目需求分析与技术选型方法
  3. 理解项目架构设计与模块划分
  4. 明确技术难点与解决方案

学习痛点

  • 不清楚移动端爬虫项目该怎么规划
  • 技术选型无从下手,不知道该选哪些工具
  • 项目架构设计没有经验

章节内容

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)
  • 项目架构设计(数据流:采集 → 解析 → 存储 → 分析 → 可视化)

第三章:项目环境搭建

教学目标

  1. 从零搭建完整的开发环境
  2. 掌握安卓模拟器的安装与联调
  3. 实现真实安卓设备的 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 设备识别
  • 无线调试(补充)

本章实战项目

项目名称:移动端爬虫开发环境一键搭建

项目内容

  1. 安装 Python 3.9+ 与依赖库
  2. 安装 Android SDK 与 platform-tools
  3. 部署安卓模拟器并完成 ADB 联调
  4. 连接真实安卓设备进行 USB 调试
  5. 安装 Appium Server 与 MitmProxy
  6. 验证全链路环境连通性

本章知识点

  • Python 开发环境配置
  • Android SDK 与 ADB 工具
  • 安卓模拟器部署与联调
  • 真机 USB 调试
  • Appium / MitmProxy 环境准备

第四章:移动端爬虫必备自动化工具 Appium 初探

教学目标

  1. 了解 Appium 的工作原理与核心优势
  2. 完成 Appium 的安装与配置
  3. 理解 Appium 架构与工作流程
  4. 掌握 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 的常用操作

教学目标

  1. 掌握多种元素定位策略(ID / XPath / Accessibility ID / Class / CSS / Link)
  2. 掌握点击、文本输入、清除文本等基础操作
  3. 掌握显式等待确保元素可交互
  4. 掌握元素属性提取技巧

学习痛点

  • 元素定位不准,脚本频繁报错找不到元素
  • 不清楚各种定位策略的适用场景
  • 操作时机不对,元素还没加载就点击了
  • 不知道怎么从 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 页面
  • 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
  • locationsize:元素坐标与尺寸
  • 数据提取与结构化处理

本章实战要点

  • 6 种定位策略的选型决策树
  • 显式等待保障脚本稳定性
  • 从 UI 元素中提取结构化数据

本章知识点

  • 元素定位策略(ID / XPath / Accessibility ID / Class / CSS / Link / Partial Link)
  • 显式等待与隐式等待
  • 点击 / 文本输入 / 清除文本操作
  • 虚拟键盘与加密输入处理
  • 元素属性提取与数据结构化

第六章:掌握 Appium 的内置功能

教学目标

  1. 掌握复合手势链式触发(长按、拖拽)
  2. 实现智能滚动策略(动态加载与边界检测)
  3. 掌握多点触控同步操作
  4. 掌握应用生命周期控制(冷热启动、后台调度)
  5. 实现多任务切换与进程管理
  6. 掌握屏幕截图与通知栏操控
  7. 实现虚拟定位

学习痛点

  • 复杂手势操作(长按、拖拽、多指触控)不会写
  • 滑动加载更多时不知道什么时候停
  • 多 App 之间切换操作混乱
  • 截图、通知栏操作等高级功能不会用

章节内容

6.1 复合手势

  • 长按与拖拽:复合手势链式触发核心技术(27:46)
  • TouchAction / W3C Actions API
  • 长按(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)
  • MultiAction API
  • 多指同时触摸与释放
  • 缩放手势(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 高级操作工具箱

项目内容

  1. 封装复合手势操作工具(长按、拖拽、多指触控)
  2. 实现智能滑动加载器(边界检测 + 防检测)
  3. 实现应用生命周期管理器(冷热启动、后台切换)
  4. 实现多任务协同操作流程
  5. 实现截图与通知栏自动化处理
  6. 实现虚拟定位功能

本章知识点

  • 复合手势链式触发(TouchAction / W3C Actions)
  • 智能滚动与边界检测
  • 多点触控(MultiAction)
  • 应用生命周期(冷热启动 / 后台调度)
  • 多任务切换与进程栈管理
  • 屏幕截图技术
  • 通知栏操控
  • 虚拟定位与地理围栏

第七章:爬虫项目之移动端短视频实战【Appium 关联实战】

教学目标

  1. 将 Appium 所学知识应用到真实短视频平台
  2. 实现视频元数据高效采集(XPath + Appium 协同)
  3. 构建本地数据库存储采集数据
  4. 实现批量数据入库与事务管理
  5. 优化自动化流程(滑动加载 + 防检测)

学习痛点

  • 学了 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)
  • 滑动加载:自动滑到底部加载更多
  • 防检测:随机间隔、模拟手势轨迹
  • 异常恢复:弹窗处理、网络超时重试
  • 采集进度持久化:断点续采

本章实战项目

项目名称:短视频热门视频信息采集系统

项目内容

  1. 设计视频元数据采集方案
  2. 使用 Appium + XPath 实现元素定位与数据提取
  3. 构建 SQLite/MySQL 数据库存储
  4. 实现批量数据入库与事务管理
  5. 集成滑动加载与防检测机制
  6. 支持断点续采与异常恢复

本章知识点

  • Appium + XPath 协同采集实战
  • 视频元数据提取(标题/作者/点赞/评论/分享)
  • 关系型数据库设计(SQLite/MySQL)
  • 批量入库与事务管理
  • 滑动加载与防检测机制
  • 断点续采与异常恢复

第八章:熟悉 App 爬虫神器 — MitmProxy 核心功能

教学目标

  1. 理解 MitmProxy 的核心原理(中间人攻击与流量解密)
  2. 掌握 MitmProxy 组件架构(命令行 / Web 界面 / 脚本引擎)
  3. 对比 MitmProxy 与 Fiddler / Charles / Wireshark 的差异
  4. 完成 MitmProxy 跨平台安装与证书配置
  5. 掌握 HTTPS 解密原理与 CA 证书信任链
  6. 实现代理策略定制(正向 / 透明 / 反向代理)
  7. 掌握流量捕获、请求解析、请求篡改、响应模拟
  8. 实现流量筛选、高效检索、阻断控制与请求重放

学习痛点

  • 不理解中间人攻击原理,对 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 8080
    • mitmweb --web-port 8081
    • mitmdump -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)
  • 高效检索方案:多条件组合搜索技巧(27:08)
    • 组合搜索:域名 + 路径 + 方法 + 内容
    • 搜索历史与书签
    • 流量标签与分组

8.9 流量阻断与请求重放

  • 流量阻断控制:断点调试与条件拦截策略(15:39)
    • 断点设置:请求断点 / 响应断点
    • 条件拦截:基于 URL / Header / Body 内容
    • 拦截后操作:放行 / 修改 / 丢弃
  • 请求重放机制:定时、批量重放测试(1)(20:20)
  • 请求重放机制:定时、批量重放测试(2)(19:42)
    • 单次重放:r 键快速重放
    • 批量重放:选中多个请求同时重放
    • 定时重放:按时间间隔重复发送
    • 重放修改:编辑请求后重放
    • 应用场景:接口压测 / 重复请求验证

本章实战项目

项目名称:MitmProxy 全功能流量分析工作站

项目内容

  1. 配置 MitmProxy 代理与 HTTPS 证书
  2. 实现移动端 App 流量捕获
  3. 深度解析请求/响应结构
  4. 实现请求篡改与响应模拟
  5. 构建流量筛选与检索方案
  6. 实现条件拦截与请求重放
  7. 对比 MitmProxy 与 Fiddler/Charles 的差异

本章知识点

  • MITM 中间人攻击原理与 HTTPS 解密
  • MitmProxy 组件架构(mitmproxy / mitmweb / mitmdump)
  • 代理工具对比选型(MitmProxy / Fiddler / Charles / Wireshark)
  • CA 证书生成与跨平台配置
  • 代理模式(正向 / 透明 / 反向)
  • 流量捕获与协议解析(HTTP/1.1 / HTTP/2 / WebSocket)
  • 请求/响应深度解析(Header / Body / Cookie)
  • 请求篡改与响应模拟
  • 流量筛选(正则 / 逻辑运算符 / 多条件组合)
  • 断点调试与条件拦截
  • 请求重放(批量 / 定时 / 修改后重放)

第九章:掌握 MitmProxy 的核心组件应用

教学目标

  1. 掌握 mitmdump 命令行流量分析
  2. 掌握 mitmweb Web 界面可视化操作
  3. 实现网络监控全链路实时捕获与诊断
  4. 掌握抓包数据多维建模与特征提取

学习痛点

  • 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 组件应用与流量分析平台

项目内容

  1. 使用 mitmdump 实现自动化流量分析
  2. 使用 mitmweb 构建可视化监控界面
  3. 实现全链路网络监控与诊断
  4. 抓包数据多维建模与特征提取
  5. 结构化数据导出(JSON / CSV / 数据库)

本章知识点

  • mitmdump 命令行工具(过滤 / 保存 / 脚本集成)
  • mitmweb 可视化界面
  • 全链路网络监控与诊断
  • 抓包数据多维建模
  • 特征提取与数据结构化

第十章:提升 MitmProxy 的高阶开发能力

教学目标

  1. 掌握抓包技术在爬虫中的核心应用
  2. 掌握安全分析与漏洞挖掘基础
  3. 实现 MitmProxy 插件开发
  4. 掌握 HTTPS 证书信任常见问题解决
  5. 实现代理连接故障诊断与性能调优

学习痛点

  • 只会用 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 自定义插件开发

项目内容

  1. 分析爬虫抓包需求
  2. 设计插件架构与事件绑定
  3. 实现请求/响应自动处理插件
  4. 实现数据提取与持久化
  5. 插件调试与性能优化
  6. 解决证书绑定等常见问题

本章知识点

  • 抓包技术在爬虫中的核心应用流程
  • 安全分析与漏洞挖掘基础
  • MitmProxy 插件开发(事件驱动 / request / response / error)
  • 插件调试与测试
  • HTTPS 证书信任问题与 Certificate Pinning 绕过
  • 代理连接故障诊断
  • 性能调优策略
  • 抓包合规操作指南

第十一章:爬虫项目之移动端短视频实战【短视频热门话题视频采集与存储技术全链路解析】

教学目标

  1. 系统掌握从接口逆向到数据落地的完整技术链路
  2. 掌握短视频 API 逆向工程(请求参数捕获与接口分析)
  3. 实现接口参数逆向与视频列表关键字段解析
  4. 掌握元数据提取与直链定位技术
  5. 实现基于 MinIO 的分布式存储架构
  6. 实现异步处理与视频下载
  7. 掌握基于 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)
    • 直播流录制与存储

本章实战项目

项目名称:短视频热门话题视频采集与存储全链路系统

项目内容

  1. Appium + MitmProxy 协同采集方案
  2. 短视频 API 逆向分析与参数解析
  3. 视频元数据与直链提取
  4. MinIO 分布式存储部署
  5. 异步视频下载(asyncio + aiohttp)
  6. 视频文件入 MinIO 存储
  7. HLS 直播流抓取与合并(m3u8 + ts → MP4)
  8. 存储管理与清理策略

本章知识点

  • Appium + MitmProxy 协同采集方案
  • API 逆向工程(参数捕获 / 接口分析 / 签名推断)
  • 接口参数逆向与分页处理
  • 元数据提取与直链定位
  • MinIO 对象存储私有化部署
  • 异步下载(asyncio + aiohttp + Semaphore)
  • 视频文件校验与管理
  • HLS 协议(m3u8 + ts 分片)与直播流录制
  • ffmpeg 视频合并

第十二章:安卓群控系统架构与自动化项目

教学目标

  1. 设计并实现完整的安卓群控系统架构
  2. 实现多模拟器实例化连接与标准化配置
  3. 实现模拟器自动解锁与密码输入
  4. 掌握面向对象重构方案
  5. 实现应用层自动化操作框架
  6. 实现多进程优化与多实例并行控制
  7. 实现模拟器集群动态管理与健康监测
  8. 构建系统级多级日志存储方案

学习痛点

  • 单设备操作效率太低,需要多设备并行
  • 多模拟器管理混乱,不知道怎么系统化控制
  • 面向对象设计能力不足,代码难以维护
  • 多进程/多实例控制不稳定

章节内容

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)

本章实战项目

项目名称:安卓多模拟器群控系统

项目内容

  1. 设计群控系统架构(管理 → 控制 → 执行)
  2. 实现多模拟器批量连接与标准化配置
  3. 实现自动解锁(滑动 + KeyCode 密码输入)
  4. 面向对象重构(BaseEmulator → AppEmulator)
  5. 实现应用自动化操作框架
  6. 实现多进程并行控制
  7. 集成独立 Appium Server
  8. 实现模拟器集群动态管理与健康监测
  9. 构建多级日志存储系统

本章知识点

  • 群控系统架构设计
  • 多模拟器连接与端口分配
  • 屏幕锁检测与自动解锁(KeyCode 映射表)
  • 面向对象重构(基类继承 / 封装)
  • 应用自动化操作框架
  • 多进程并行控制(multiprocessing
  • Appium 服务集成与端口管理
  • 模拟器实例自动发现
  • 集群动态管理与负载均衡
  • 健康监测与故障恢复(心跳检测 / 自动重启)
  • 多级日志存储方案

第十三章:Streamlit 可视化数据分析

教学目标

  1. 了解 Streamlit 核心特性与部署方式
  2. 掌握文本展示与交互组件(按钮 / 输入框 / 滑动条)
  3. 掌握结构化数据呈现(交互式表格)
  4. 掌握数据可视化(折线图 / 柱状图)
  5. 掌握界面优化(侧边栏 / 多列 / 容器)
  6. 掌握动态交互机制(回调函数 / 会话状态)
  7. 掌握多媒体嵌入(图片 / 音频 / 视频)

学习痛点

  • 采集到的数据没有可视化界面,难以直观分析
  • 前端开发能力弱,不知道怎么快速搭建数据看板
  • 数据展示交互性差,筛选排序不方便

章节内容

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 视频
    • 采集视频预览与元数据联动

本章实战项目

项目名称:短视频数据可视化看板

项目内容

  1. 搭建 Streamlit 应用框架
  2. 实现数据表格展示与筛选排序
  3. 生成折线图/柱状图展示视频数据趋势
  4. 实现侧边栏参数控制
  5. 支持图片/视频预览
  6. 实现会话状态管理与交互

本章知识点

  • 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 交互与系统报告生成平台

教学目标

  1. 掌握 DeepSeek 模型集成与 Token 管理
  2. 实现 DeepSeek API 规范化调用
  3. 实现流式问答与对话交互界面
  4. 实现侧边栏预设问题配置
  5. 实现系统信息获取与前端展示
  6. 掌握数据可视化与图表生成
  7. 实现 PDF 报告导出

学习痛点

  • 不知道怎么把大模型集成到自己的应用中
  • 流式输出不知道怎么实现
  • 系统报告不知道怎么生成和导出

章节内容

14.1 DeepSeek 模型交互

  • DeepSeek 模型基础与 Token 管理机制(08:06)
    • DeepSeek 模型简介与 API 体系
    • Token 计算与管理
    • 上下文长度与费用估算
  • DeepSeek 请求头规范与接口调用方法(13:33)
    • API Key 配置
    • 请求头规范(Authorization / Content-Type)
    • 请求体构造:model / messages / temperature
    • requests / openai SDK 调用
  • 实现流式问答与对话交互界面(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 驱动的数据分析与报告平台

项目内容

  1. 集成 DeepSeek API 实现智能问答
  2. 构建流式对话交互界面
  3. 实现预设问题与对话管理
  4. 采集系统运行信息并可视化
  5. 生成数据图表并嵌入报告
  6. 导出 PDF 系统报告

本章知识点

  • DeepSeek 模型集成与 Token 管理
  • API 规范化调用(请求头 / 请求体 / 响应解析)
  • 流式输出(streaming)与 st.write_stream()
  • 多轮对话上下文管理
  • 预设问题配置与对话清空
  • 系统信息采集(psutil
  • Streamlit 指标卡片与实时展示
  • 数据可视化图表生成
  • PDF 报告导出(ReportLab / WeasyPrint)

第十五章:【Streamlit 实战】群控架构日志文件可视化项目

教学目标

  1. 构建群控日志可视化系统
  2. 实现侧边栏目录配置与日志自动读取
  3. 实现日期范围筛选与日志过滤
  4. 掌握日志文件自动解析处理流程
  5. 实现日志数量/级别/时间/函数调用多维度统计分析
  6. 生成可视化图表

学习痛点

  • 群控系统产生的日志太多,人工查看效率低
  • 日志格式不统一,解析困难
  • 缺乏直观的日志分析工具

章节内容

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)
    • 功能回顾与总结
    • 拓展方向:告警 / 导出 / 实时监控

本章实战项目

项目名称:群控日志可视化分析平台

项目内容

  1. 搭建日志读取与目录配置界面
  2. 实现日志自动解析与日期筛选
  3. 实现日志级别/数量统计与展示
  4. 生成时间分布图表
  5. 实现函数调用维度统计分析
  6. 支持分页浏览与关键词搜索

本章知识点

  • 日志文件自动扫描与读取
  • 日志格式解析(正则表达式)
  • 日期范围筛选与关键词组合过滤
  • 日志级别统计与指标展示
  • 时间分布分析与图表生成
  • 函数调用维度统计
  • Streamlit 分页展示与交互

第十六章:如何应对应用设置的反扒机制

教学目标

  1. 掌握协议逆向解析(通信链路拆解与加密算法重构)
  2. 实现流量仿真策略(客户端行为建模与特征复现)
  3. 对抗动态密钥(实时嗅探与解密算法动态反制)
  4. 实现设备指纹隐匿(多维特征融合与身份伪装)
  5. 掌握人机验证绕过(轨迹仿真与行为画像模拟)

学习痛点

  • 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 反爬综合应对方案

项目内容

  1. 逆向分析目标 App 通信协议与加密算法
  2. 构建客户端行为仿真模型
  3. 实现动态密钥实时嗅探与反制
  4. 实现设备指纹伪装与随机化
  5. 实现人机验证轨迹仿真

本章知识点

  • 协议逆向解析(通信链路拆解 / 加密算法重构)
  • Frida 动态 Hook 辅助逆向
  • 流量仿真(行为建模 / 特征复现)
  • 动态密钥对抗(实时嗅探 / 动态反制)
  • 设备指纹隐匿(多维特征融合 / 身份伪装)
  • Xposed / Magisk / Frida 框架
  • 人机验证绕过(轨迹仿真 / 行为画像)
  • 贝塞尔曲线轨迹生成
  • 验证码识别服务集成

第十七章:课程总结

教学目标

  1. 系统回顾课程全部知识点
  2. 巩固从环境搭建到移动端爬虫实现的全流程技能
  3. 明确后续进阶方向

章节内容

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
4AI 驱动的数据分析与报告平台第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 / PuppeteerAppium / MitmProxy
抓包方式Chrome DevTools / FiddlerMitmProxy / mitmdump
数据采集HTML 解析 / API 调用UI 自动化 + API 逆向
存储方案MySQL / RedisMinIO / MySQL
特色技术JS 逆向 / Cookie 池 / 代理池群控 / HLS 流 / 设备指纹
可视化Streamlit + DeepSeek AI
难度高级初级
时长22.5 小时36 小时

五、面试要点汇总

  1. Appium 相关

    • Appium 架构原理(Client/Server / Session / 驱动层)
    • 6 种元素定位策略及适用场景
    • 显式等待 vs 隐式等待
    • 复合手势链式触发实现
  2. MitmProxy 相关

    • MITM 中间人攻击原理
    • HTTPS 解密与 CA 证书配置
    • 插件开发事件驱动模型
    • Certificate Pinning 绕过方案
  3. API 逆向相关

    • 接口参数分析方法
    • 签名参数生成逻辑推断
    • 分页参数处理
    • 加密参数解密
  4. 群控系统相关

    • 多进程并行控制方案
    • 模拟器集群管理架构
    • 健康监测与故障恢复
    • 面向对象设计模式应用
  5. 存储与异步相关

    • MinIO 对象存储部署与使用
    • asyncio + aiohttp 异步下载
    • HLS 协议与 m3u8 解析
    • ffmpeg 视频合并
  6. 可视化与 AI 相关

    • Streamlit 核心组件使用
    • session_state 状态管理
    • DeepSeek API 集成
    • 流式输出实现
    • PDF 报告生成
  7. 反爬应对相关

    • 协议逆向分析方法
    • 设备指纹隐匿方案
    • 动态密钥对抗策略
    • 人机验证轨迹仿真

热爱生活,喜好美食,追求未来!