live-forum/server/crawler/entertainment
2026-03-24 11:27:37 +08:00
..
config 重新推送 2026-03-24 11:27:37 +08:00
core 重新推送 2026-03-24 11:27:37 +08:00
data 重新推送 2026-03-24 11:27:37 +08:00
services 重新推送 2026-03-24 11:27:37 +08:00
test 重新推送 2026-03-24 11:27:37 +08:00
utils 重新推送 2026-03-24 11:27:37 +08:00
main.py 重新推送 2026-03-24 11:27:37 +08:00
README.md 重新推送 2026-03-24 11:27:37 +08:00
requirements.txt 重新推送 2026-03-24 11:27:37 +08:00
技术方案.md 重新推送 2026-03-24 11:27:37 +08:00

字节跳动直播服务平台 Cookie 登录工具

半自动化登录工具,用于管理字节跳动直播服务平台的 Cookie。

功能特性

  • 半自动化登录流程(用户手动完成登录,系统自动保存 Cookie
  • Cookie 自动保存和加载
  • 登录成功自动检测(通过 URL 判断)
  • 用户信息自动提取
  • 清晰的命令行提示

环境要求

  • Python 3.8.6+
  • Windows/Linux/macOS

安装步骤

1. 安装依赖

pip install -r requirements.txt

2. 安装 Playwright 浏览器

playwright install chromium

使用方法

登录流程

python main.py login

执行后会:

  1. 自动打开浏览器(最大化窗口)
  2. 导航到登录页面
  3. 等待你手动完成登录(输入账号密码、完成验证码等)
  4. 自动检测登录成功
  5. 自动保存 Cookie 到 ./data/cookies.json
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 浏览器:

playwright install chromium

登录检测失败

如果登录后系统未检测到登录成功,请检查:

  1. URL 是否包含 portal/data/leaderboard
  2. 页面是否已加载完成
  3. 是否在超时时间内完成登录

许可证

内部使用

账号密码

1网址和账号 网址:https://union.bytedance.com/open/ 18969047040 YC778899

执行:

# 抓取排行榜数据(默认包含粉丝数)
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有效