# DouyinMan **Repository Path**: casperchina/douyin-man ## Basic Information - **Project Name**: DouyinMan - **Description**: 抖音下载转文本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-02 - **Last Updated**: 2026-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 抖音视频抓取工具 一个基于 Playwright 的抖音用户视频批量抓取工具,支持自动登录、Cookie 持久化、滚动分页等功能。 ## 功能特性 - ✅ 自动检测登录状态,支持无头/有头模式切换 - ✅ Cookie 持久化,避免重复登录 - ✅ 在 `.page-cache-wrapper` 容器内滚动触发懒加载 - ✅ 自动处理登录对话框(保存登录信息、短信验证) - ✅ 提取用户昵称和抖音号 - ✅ 将数据保存为 `抖音号(用户昵称).json` 格式 - ✅ 支持命令行参数配置 ## 环境要求 - Python 3.8+ - Playwright ## 安装步骤 ```bash # 1. 创建虚拟环境 python -m venv .venv # 2. 激活虚拟环境 # Windows .venv\Scripts\activate # macOS/Linux source .venv/bin/activate # 3. 安装依赖 pip install playwright # 4. 安装浏览器 playwright install chromium ``` ## 使用方法 ### 基本用法 ```bash python douyin_scraper.py "https://www.douyin.com/user/MS4wLjABAAAAf_FInA3rLqgmY6Ulh49hko8WDymwswQrJCZ7Pf3rzoA" ``` ### 命令行参数 | 参数 | 说明 | 默认值 | |------|------|--------| | `url` | 抖音用户主页 URL | 预设用户 | | `-o, --output` | 输出目录 | `douyin_data` | | `--headed` | 使用有头模式(显示浏览器窗口) | 否 | | `--pause` | 每 10 次滚动暂停秒数 | 0 | | `--skip-login` | 跳过登录检测 | 否 | ### 示例 ```bash # 使用有头模式 python douyin_scraper.py "https://www.douyin.com/user/xxx" --headed # 指定输出目录 python douyin_scraper.py "https://www.douyin.com/user/xxx" -o ./output # 每 10 次滚动暂停 5 秒 python douyin_scraper.py "https://www.douyin.com/user/xxx" --pause 5 ``` ## 工作流程 1. **登录检测**:使用无头浏览器加载已保存的 Cookie,检测登录状态 2. **模式选择**: - 已登录 → 使用无头模式直接抓取 - 未登录 → 切换到有头模式,等待用户登录 3. **页面处理**:自动检测并处理"保存登录信息"和"短信验证"对话框 4. **滚动抓取**:在 `.page-cache-wrapper` 容器内滚动触发懒加载,获取视频数据 5. **数据保存**:提取用户信息,保存为 `抖音号(用户昵称).json` 文件 ## 输出格式 生成的 JSON 文件结构如下: ```json [ { "aweme_id": "视频ID", "desc": "视频描述", "create_time": 时间戳, "duration_ms": 时长(毫秒), "author": {...}, "video": { "play_addr": {...} } } ] ``` ## 文件说明 | 文件 | 说明 | |------|------| | `douyin_scraper.py` | 主程序脚本 | | `douyin_cookies.json` | 保存登录凭证(自动生成) | | `douyin_data/` | 输出目录(自动创建) | ## 注意事项 1. 首次运行需要手动登录,登录后 Cookie 会自动保存 2. Cookie 过期后会自动检测并提示重新登录 3. 建议使用 `--pause` 参数避免请求过于频繁 4. 用户昵称中的非法字符会自动过滤(`\ / * ? : " < > |`) 5. 如需抓取大量数据,建议分多次执行 ## License MIT