varuntech123/Mi-Notes-Bulk-Exporter

GitHub: varuntech123/Mi-Notes-Bulk-Exporter

一款Python自动化工具,通过浏览器自动化和网络响应分析实现小米笔记的批量导出功能。

Stars: 0 | Forks: 0

# Mi Notes 批量导出工具 一个 Python 自动化工具,用于从 Mi Notes 网页界面导出小米/米笔记为独立的 `.txt` 文件。 ## 问题 Mi Notes 网页没有提供实用的批量导出选项来导出所有笔记。手动逐个打开和复制数百条笔记既慢又容易出错。 ## 解决方案 本项目通过结合以下方式实现导出流程自动化: - 使用 Playwright 进行浏览器自动化 - 对 Mi Notes 网页网络调用进行逆向工程 - 从内部笔记端点精确提取笔记详情 - 将笔记导出为独立的纯文本 `.txt` 文件 ## 关键思路 简单的 UI 爬取并不可靠,因为页面混合了笔记列表预览和笔记详情内容。 为解决此问题,本工具捕获内部笔记列表和笔记详情响应,并使用它们精确导出每条笔记。 ## 功能 - 支持手动登录 - 按照 Mi Notes 网页界面中的可见顺序读取笔记 - 获取精确的笔记详情 - 将每条笔记导出为独立的 `.txt` 文件 - 支持批量导出用于测试或完整导出 - 提供调试模式用于故障排查 ## 项目流程 1. 使用 Playwright 在 Chrome 中打开 Mi Notes 网页 2. 用户手动登录 3. 工具检测左侧窗格中可见的笔记 4. 工具将可见笔记映射到内部笔记记录 5. 工具使用内部笔记端点获取精确的笔记详情 6. 工具将笔记标记清理为可读的纯文本 7. 工具将每条笔记保存为独立的 `.txt` 文件 ## 工作流程 - 浏览器打开 Mi Notes 网页 - 用户登录并打开「所有笔记」页面 - 导出工具按顺序读取初始可见的笔记 - 工具捕获内部网络响应 - 它获取每条笔记的精确内容 - 它将笔记保存为独立的文本文件 ## 技术栈 - Python - Playwright - 浏览器自动化 - 网络/API 响应分析 - 文本提取与规范化 ## 安装说明 ### 1. 克隆仓库 ``` git clone https://github.com/varuntech123/mi-notes-bulk-exporter.git cd mi-notes-bulk-exporter ``` ### 2. 创建虚拟环境 ``` python -m venv venv ``` ### 3. 激活虚拟环境 Windows PowerShell: ``` venv\Scripts\Activate.ps1 ``` Windows CMD: ``` venv\Scripts\activate ``` ### 4. 安装依赖 ``` pip install -r requirements.txt python -m playwright install chrome ``` ## 如何运行 ### 导出前 20 条笔记 ``` python mi_notes_exporter.py --output-dir exported_notes_first20 --limit 20 --debug ``` ### 导出所有笔记 ``` python mi_notes_exporter.py --output-dir exported_notes_all --limit 601 --debug ``` ## 使用步骤 1. 运行脚本 2. 手动登录 Mi Notes 网页 3. 打开「所有笔记」 4. 保持左侧窗格中顶部笔记可见 5. 在终端中按 Enter 6. 之后不要手动滚动或点击 7. 等待导出完成 ## 输出 该工具会在选定的输出文件夹中为每条笔记创建独立的 `.txt` 文件。 示例: - `001_90-days-challenges.txt` - `002_daily_tasks.txt` ## 调试模式 使用 `--debug` 保存故障排查所需的工件,包括: - 页面截图 - 有序的笔记目标 - 捕获的网络负载 ## 重要说明 - 请勿将个人导出的笔记上传到 GitHub - 请勿上传浏览器配置文件/会话文件夹 - 本项目仅用于个人数据提取和自动化研究 - 网页应用的更改可能需要更新选择器或响应映射 ## 示例命令 ``` python mi_notes_exporter.py --output-dir exported_notes_demo --limit 10 --debug python mi_notes_exporter.py --output-dir exported_notes_first20 --limit 20 --debug python mi_notes_exporter.py --output-dir exported_notes_all --limit 601 --debug ``` **截图** Chrome 截图... ![Screenshot](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/f727f69b34185508.png) 命令行截图... ![Screenshot](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/907973217b185521.png) ## 面试价值 本项目展示了: - 解决实际用户问题 - 浏览器自动化 - 对生产环境网页应用进行逆向工程 - 使用内部网络响应而非脆弱的爬取方式 - 设计混合自动化加数据提取的工作流程
标签:API抓取, HTTP工具, IP 地址批量处理, Mi Notes, Playwright, Python, TXT导出, 云资产清单, 小米笔记, 批量导出, 数据导出, 数据泄露, 数据迁移, 文本提取, 无后门, 浏览器自动化, 特征检测, 笔记备份, 网络拦截, 网络请求分析, 逆向工具, 逆向工程