# 字节跳动直播服务平台 Cookie 登录工具 半自动化登录工具,用于管理字节跳动直播服务平台的 Cookie。 ## 功能特性 - ✅ 半自动化登录流程(用户手动完成登录,系统自动保存 Cookie) - ✅ Cookie 自动保存和加载 - ✅ 登录成功自动检测(通过 URL 判断) - ✅ 用户信息自动提取 - ✅ 清晰的命令行提示 ## 环境要求 - Python 3.8.6+ - Windows/Linux/macOS ## 安装步骤 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 安装 Playwright 浏览器 ```bash playwright install chromium ``` ## 使用方法 ### 登录流程 ```bash python main.py login ``` 执行后会: 1. 自动打开浏览器(最大化窗口) 2. 导航到登录页面 3. 等待你手动完成登录(输入账号密码、完成验证码等) 4. 自动检测登录成功 5. 自动保存 Cookie 到 `./data/cookies.json` ### 查看 Cookie 状态 ```bash python main.py status ``` 查看当前保存的 Cookie 信息,包括: - Cookie 文件路径 - Cookie 数量 - 用户名 - 创建时间 - 最后验证时间 ## 项目结构 ``` crawler/ ├── config/ # 配置文件 │ ├── __init__.py │ └── settings.py # 系统配置 ├── core/ # 核心模块 │ ├── __init__.py │ ├── cookie_manager.py # Cookie管理器 │ └── browser_login.py # 浏览器登录 ├── utils/ # 工具模块 │ ├── __init__.py │ └── logger.py # 日志工具 ├── data/ # 数据目录 │ └── cookies.json # Cookie文件(自动创建) ├── logs/ # 日志目录 │ └── crawler.log # 日志文件 ├── main.py # 主程序入口 └── requirements.txt # 依赖列表 ``` ## 配置说明 配置文件位于 `config/settings.py`,可以修改: - `LOGIN_URL`: 登录页面 URL - `BROWSER_TIMEOUT`: 登录超时时间(秒,默认300秒) - `COOKIE_FILE`: Cookie 保存路径 - `LOG_LEVEL`: 日志级别 ## 注意事项 1. 登录超时时间默认为 5 分钟,如需修改请编辑 `config/settings.py` 2. Cookie 文件保存在 `./data/cookies.json`,请妥善保管 3. 日志文件保存在 `./logs/crawler.log` ## 故障排除 ### 浏览器启动失败 确保已安装 Playwright 浏览器: ```bash playwright install chromium ``` ### 登录检测失败 如果登录后系统未检测到登录成功,请检查: 1. URL 是否包含 `portal/data/leaderboard` 2. 页面是否已加载完成 3. 是否在超时时间内完成登录 ## 📤 数据上报功能 系统支持自动将抓取的数据上报到您的服务器。 ### 配置上报 编辑 `config/settings.py`: ```python # 启用数据上报 REPORT_URL = "http://your-server.com/api/Streamers/ReportStreamerData?category=commerce&logId={logId}" REPORT_TIMEOUT = 60 REPORT_MAX_RETRIES = 3 # 禁用数据上报 REPORT_URL = None ``` ### 测试上报功能 提供了测试服务器,方便您测试上报功能: ```bash # 1. 启动测试服务器 python test_report_server.py # 2. 在另一个终端运行爬虫 python main.py fetch-daren # 3. 查看测试服务器输出,确认数据是否成功上报 ``` 详见:[数据上报配置说明.md](./数据上报配置说明.md) ## API验签参数逆向分析 如果您需要分析API接口的验签参数(如 `a_bogus`、`msToken`、`verifyFp` 等),请查看: - **📖 [逆向分析指南.md](./逆向分析指南.md)** - 详细的逆向分析教程 - **🛠️ [tools/](./tools/)** - 逆向分析工具集 - `capture_params.py` - Python参数捕获工具 - `browser_hook.js` - 浏览器Hook脚本 - `README.md` - 工具使用说明 ### 快速开始逆向分析 ```bash # 使用Python工具捕获API参数 python tools/capture_params.py # 或在浏览器Console中运行Hook脚本 # 复制 tools/browser_hook.js 的内容到Console ``` ## 许可证 内部使用 ## 账号密码 1.网址和账号 网址:https://union.bytedance.com/open/ 18969047040 YC778899 ## 🎯 主要功能 ### 1. 单次抓取 ```bash # 抓取达人账号数据(单次) python main.py fetch-daren # 自定义每页数量 python main.py fetch-daren --page-size 50 ``` 详见:[达人账号抓取说明.md](./达人账号抓取说明.md) ### 2. 守护进程(定时抓取) ```bash # 使用默认配置(每1小时抓取一次) python main.py daemon # 自定义抓取间隔(每2小时) python main.py daemon --interval 2 # 自定义每页数量 python main.py daemon --interval 1 --page-size 50 ``` 详见:[守护进程使用说明.md](./守护进程使用说明.md) **守护进程特性:** - ✅ 定时自动抓取达人账号数据 - ✅ 自动保存到本地 `data/all_account/` - ✅ 自动上报数据到服务器(如已配置) - ✅ 连续失败容错机制 - ✅ 资源自动清理,避免内存泄漏 - ✅ 详细的日志记录 - ⚠️ Cookie失效时提示重新登录 ### 3. 数据格式转换 抓取的数据会自动转换为指定格式: 详见:[数据格式转换说明.md](./数据格式转换说明.md) ### 4. 数据上报 抓取完成后自动上报到服务器: 详见:[数据上报配置说明.md](./数据上报配置说明.md) ```