live-forum/server/crawler/entertainment/README.md
2026-03-24 11:27:37 +08:00

154 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 字节跳动直播服务平台 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有效
```