# 字节跳动直播服务平台 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. 是否在超时时间内完成登录 ## 许可证 内部使用 ## 账号密码 1.网址和账号 网址:https://union.bytedance.com/open/ 18969047040 YC778899 执行: ```sh # 抓取排行榜数据(默认包含粉丝数) python main.py crawl # 不抓取粉丝数据 python main.py crawl --no-fetch-fans # 抓取粉丝数据(显式指定) python main.py crawl --fetch-fans # 循环运行模式(守护进程) # 每隔1小时抓取不包含粉丝的数据,每隔6小时抓取包含粉丝的数据 python main.py daemon # 自定义循环间隔(小时) python main.py daemon --interval-no-fans 2 --interval-with-fans 12 # 守护进程模式说明: # - 程序会持续运行,按配置的间隔自动抓取数据 # - 不包含粉丝数据的抓取:默认每1小时执行一次(可在 config/settings.py 中配置) # - 包含粉丝数据的抓取:默认每6小时执行一次(可在 config/settings.py 中配置) # - 按 Ctrl+C 可以安全停止程序 # - 程序会自动管理内存,避免内存泄漏 # - 控制台输出已优化,避免日志过多导致卡顿 # - Cookie失效处理: # * 如果Cookie失效,程序会尝试自动重新登录(会打开浏览器) # * 如果重新登录失败,程序不会停止,会继续运行但抓取会失败 # * 连续失败3次后,程序会给出警告提示,建议手动运行 'python main.py login' 更新Cookie # * 建议在服务器上运行时,定期检查日志,确保Cookie有效 ```