抖音点赞数据分类工具 — 从自己的点赞列表提取结构化信息,支持内容分类、UP主画像、视频下载。
v4 是当前推荐版本,基于 16 张表分层设计,支持高并发读写,提供更完善的数据分析和报告功能。
# 首次初始化(建库建表)
python dytool_v4.py init
# 重新获取 Cookie(浏览器扫码)
python dytool_v4.py cookie
# 抓取点赞视频数据
python dytool_v4.py fetch likes
# 抓取收藏视频数据
python dytool_v4.py fetch favorites
# 抓取 UP主资料
python dytool_v4.py fetch profiles
# 抓取评论(支持预估 API 消耗)
python dytool_v4.py fetch comments
# 内容分类(17 类)
python dytool_v4.py classify
# 生成交互式 HTML 报告
python dytool_v4.py report
# 查看统计摘要
python dytool_v4.py info
# 完整性检查
python dytool_v4.py check
# 视频下载
python dytool_v4.py download --limit 50
# 刷新过期视频 URL
python dytool_v4.py refresh| 特性 | v3 | v4 |
|---|---|---|
| 表数量 | 3 张 | 16 张 |
| 并发模式 | 默认 | WAL(读不阻塞写) |
| 下载状态 | 0/1 | 5 态状态机 |
| 断点续传 | cursor | cursor + liked_time 书签 |
| 分类体系 | 17 类 | 17 类 + 赛道分层 |
| 评论标签 | 基础 | 多标签 |
| UP主画像 | 基础 | 多维画像 |
| 分析决策 | 盲跑 | 预估 API 消耗 |
data/douku_v4.db
├── videos_base # 视频基本信息
├── videos_stats # 视频动态数据(点赞/评论/分享)
├── videos_classification # 17 类内容分类
├── videos_download # 下载状态机(5 态)
├── videos_url # 多 Tier URL 管理
├── authors_base # UP主基础信息
├── authors_portrait # UP主画像(多维度)
├── comments # 视频评论
├── comment_tags # 评论标签
├── bookmarks_base # 收藏夹基础
├── bookmarks_items # 收藏视频关联
├── auth_state # Cookie 状态管理
└── ... # 迁移日志/操作记录等
抖音点赞数据分类工具 — 从自己的点赞列表提取结构化信息,支持内容分类、UP主画像、视频下载。
这是一个开源工具模板,不包含任何用户数据。
- 本项目(抖库)为个人学习研究用途开发,仅供学习交流使用
- 严禁用于任何商业用途
- 严禁用于以下行为:
- 爬取他人隐私数据
- 批量抓取对平台造成压力
- 违反《抖音用户服务协议》的任何行为
- 违反《中华人民共和国网络安全法》《数据安全法》《个人信息保护法》等法律法规的行为
- 任何其他违法行为
- 使用本工具即表示你已阅读并同意:使用者需自行承担全部法律风险和责任,作者不承担任何连带责任
- 本项目不提供任何明示或暗示的担保,包括但不限于适销性和特定用途的适用性
- 如果你是抖音平台方,认为本项目侵犯了你的权益,请联系作者删除
| # | 功能 | 状态 | 说明 |
|---|---|---|---|
| 1 | 点赞列表同步 | ✅ | SQLite 持久化,支持增量续爬 |
| 2 | 收藏列表同步 | ✅ | 同上 |
| 3 | 评论抓取(热评) | ✅ | 默认按热度排序,每视频 1 页 20 条 |
| 4 | UP主信息补全 | ✅ | 通过视频详情 API 批量更新 |
| 5 | 视频内容分类 | ✅ | 双层引擎(官方标签映射 + 关键词推断),17 个分类 |
| 6 | 分层数据刷新 | ✅ | Tier1(URL) / Tier2(动态) / Tier3(UP主) |
| 7 | 视频下载 | ✅ | 按分类/UP主/标签筛选,下载前自动刷新 URL |
| 8 | HTML 报告生成 | ✅ | 交互式筛选 + 分组统计 |
本项目开发过程中参考了以下开源项目,感谢它们的贡献:
| 项目 | 说明 |
|---|---|
| Johnserf-Seed/f2 | 抖音 API 调用模式、a_bogus 签名算法、请求构造思路 |
| Johnserf-Seed/TikTokDownload | 早期项目架构参考 |
| douyin-downloader | 加权关键词分类方案(分类器设计参考) |
| zcx2077/abogus | a_bogus 签名算法实现 |
| microsoft/playwright | 自动化 Cookie 获取方案 |
- Python 3.8+
- Windows / macOS / Linux
- Edge / Chrome 浏览器(用于自动获取 Cookie)
git clone <repo>
cd douyin-likes-parser
pip install -r requirements.txt运行脚本,自动打开浏览器扫码登录,Cookie 自动写入配置文件:
python -m modules.playwright_cookie完成后验证:
python dytool.py stats# 自动获取 Cookie(浏览器自动弹出,扫码登录)
python -m modules.playwright_cookie# 同步点赞列表
python dytool.py fetch likes
# 同步收藏列表
python dytool.py fetch favorites
# 抓取评论(热评)
python dytool.py fetch comments
# 补全 UP主信息
python dytool.py fetch profiles# 运行内容分类器
python dytool.py classify
# 下载视频(按分类)
python dytool.py download --tag 颜值 --limit 10
# 下载视频(按 UP主)
python dytool.py download --author 琪琳 --limit 5# 生成 HTML 报告
python dytool.py report
# 查看统计
python dytool.py stats# Tier1: 下载 URL(每次下载前)
python dytool.py refresh --tier 1
# Tier2: 视频动态数据(点赞/评论/标签)
python dytool.py refresh --tier 2
# Tier3: UP主画像(粉丝数等)
python dytool.py refresh --tier 3douyin-likes-parser/
├── dytool.py # CLI 统一入口
├── requirements.txt # 依赖
├── README.md # 本文档
├── config.py # 配置文件(自动生成)
├── modules/
│ ├── __init__.py
│ ├── config.py # 配置加载
│ ├── db_utils.py # SQLite 工具
│ ├── playwright_cookie.py # Cookie 自动获取
│ ├── fetch_likes_db.py # 点赞抓取
│ ├── fetch_favorites_db.py # 收藏抓取
│ ├── fetch_comments.py # 评论抓取
│ ├── fetch_up_profiles.py # UP主信息
│ ├── download_videos.py # 视频下载
│ ├── refresh_data.py # 分层刷新
│ ├── refresh_urls.py # URL 刷新
│ ├── content_classifier.py # 内容分类
│ ├── comment_tagger.py # 评论标签
│ ├── author_portrait.py # UP主画像
│ └── generate_report.py # 报告生成
└── data/
├── likes.db # SQLite 数据库
└── downloads/ # 下载视频目录
| 模块 | 功能 |
|---|---|
| dytool.py | CLI 统一入口,子命令:fetch/download/refresh/classify/report/stats |
| db_utils.py | 数据库初始化、迁移、辅助函数 |
| fetch_* | 抓取点赞/收藏/评论/UP主信息 |
| download_videos.py | 视频下载,支持 --tag/--author/--limit |
| refresh_data.py | 分层刷新机制(Tier1/2/3) |
| content_classifier.py | 视频内容分类(17类) |
| generate_report.py | HTML 交互式报告生成 |
A: 重新运行 python -m modules.playwright_cookie 扫码登录
A: 使用 --refresh 自动刷新 URL,或手动运行 python dytool.py refresh
A: python dytool.py stats
A: 检查是否被UP主设置"禁止下载",这类视频 API 不返回下载链接
本项目获取的数据为用户授权公开信息,包括:
- 您点赞/收藏的视频基本信息
- 视频公开评论
- UP主公开主页信息
请勿将数据用于商业用途或二次传播。尊重创作者劳动成果。
MIT License - 自由使用,商用需保留版权声明。
如果对你有帮助,欢迎 Star ⭐