douyin-batch-download

抖音视频批量下载工具 - 基于 F2 框架实现高效、增量的视频下载功能。支持单个/批量博主下载,自动 Cookie 管理,差量更新机制。本技能应在用户需要批量下载特定博主视频、服务器部署自动化下载、或定期更新视频库时使用。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "douyin-batch-download" with this command: npx skills add cat-xierluo/legal-skills/cat-xierluo-legal-skills-douyin-batch-download

抖音视频批量下载

本技能基于 F2 框架实现抖音视频批量下载,提供高效、稳定的批量下载能力。

功能概述

  • 单个博主下载 - 输入主页链接或 ID,下载全部或指定数量
  • 批量下载 - 一次指定多个博主,批量处理
  • 增量下载 - 自动跳过已下载的视频(按 aweme_id 判断)
  • Cookie 管理 - 优先从浏览器自动读取,失败则提示手动配置
  • 关注列表管理 - 维护 following.json 记录已处理的博主
  • 差量更新 - 支持只下载主页有但本地没有的视频
  • 博主昵称文件夹 - 使用博主昵称作为文件夹名,更易识别
  • 自定义下载路径 - 支持自定义下载目录,默认使用系统 Downloads 目录
  • 视频压缩 - 使用 ffmpeg 压缩视频,节省存储空间
  • 视频元数据 - 抓取并保存视频统计数据(点赞、评论、收藏、分享数)
  • 数据可视化 - Web 界面展示博主和视频的统计信息,支持排序和筛选

使用场景

  • 服务器批量下载:部署在专用服务器上,定时批量抓取特定博主视频
  • 定期更新视频库:自动检测新视频,只下载缺失部分
  • 备份与迁移:视频文件分类存储,便于备份和后续处理
  • 内容分析:基于视频统计数据(点赞、评论、收藏)进行博主内容分析

配置说明

下载路径配置

config/config.yaml 中配置下载路径:

# 下载路径配置
# 留空则使用系统 Downloads 目录下的 "抖音视频下载" 子目录
# macOS: ~/Downloads/抖音视频下载
# Windows: C:\Users\<用户名>\Downloads\抖音视频下载
download_path: ""

# 自定义路径示例:
# download_path: "/Users/maoking/Movies/抖音"
# download_path: "D:\\Videos\\抖音"

文件夹命名

视频文件按博主昵称分类存储,例如:

~/Downloads/抖音视频下载/
├── 博主A/
│   ├── 2024-01-01_视频标题_xxx.mp4
│   └── ...
├── 博主B/
│   └── ...
└── data.js          # Web 界面数据

视频元数据

下载视频时,系统会自动提取并保存以下数据:

字段说明
aweme_id视频唯一 ID
uid作者 UID
nickname博主昵称
desc视频描述/文案
create_time发布时间
duration视频时长
digg_count点赞数
comment_count评论数
collect_count收藏数
share_count分享数

数据存储在 douyin_users.dbvideo_metadata 表中。

手动提取/更新元数据

# 扫描本地视频并提取元数据(基本信息)
python scripts/extract-metadata.py

# 查看统计摘要
python scripts/extract-metadata.py --stats

⚠️ 注意: --fetch 选项已废弃。推荐使用 download-v2.py 重新下载视频,会自动保存统计数据。

快速开始

# 创建配置
mkdir -p config
cp config/config.yaml.example config/config.yaml

# 编辑配置(填写 Cookie)
${EDITOR:-nano} config/config.yaml

# 单个下载(推荐)
python scripts/download-v2.py "https://www.douyin.com/user/MS4wLjABAAAA..."

# 批量下载
python scripts/batch-download.py --all

# 交互式选择博主下载
python scripts/batch-download.py

# 采样下载(每个博主1个视频,快速更新数据)
python scripts/batch-download.py --sample

# 生成 Web 界面数据
python scripts/generate-data.py

# 查看 Web 界面
open ~/Downloads/抖音视频下载/index.html

推荐工作流

1. 添加博主 → python scripts/manage-following.py --batch
2. 批量下载 → python scripts/batch-download.py --all
3. 查看数据 → open ~/Downloads/抖音视频下载/index.html

下载时自动保存:

  • ✅ 视频文件
  • ✅ 点赞、评论、收藏、分享数
  • ✅ 视频描述、发布时间、时长

目录结构

skills/douyin-batch-download/
├── SKILL.md                  # 本文件
├── references/
│   ├── INSTALLATION.md        # 详细安装依赖说明
│   └── USAGE.md              # 详细使用说明
├── scripts/
│   ├── utils/                # 工具模块
│   │   └── config.py         # 统一配置加载
│   ├── download-v2.py        # ✅ 推荐下载脚本(自动保存统计数据)
│   ├── batch-download.py     # 批量下载入口
│   ├── download.py           # ⚠️ 旧版下载脚本(已废弃)
│   ├── manage-following.py   # 关注列表管理(添加/删除/搜索)
│   ├── sync-following.py     # 从 F2 数据库同步 following.json
│   ├── compress.py           # 视频压缩脚本
│   ├── extract-metadata.py   # 视频元数据提取
│   ├── generate-data.py      # 生成 Web 界面数据文件
│   ├── following.py          # following.json 操作库
│   └── login.py              # 扫码登录脚本
├── config/
│   ├── config.yaml.example  # 配置模板
│   └── following.json       # 关注列表(已下载的博主)
└── douyin_users.db          # SQLite 数据库(用户信息 + 视频元数据)

依赖

系统依赖

依赖安装方式
Chrome/Chromium下载地址
ffmpegmacOS: brew install ffmpeg / Ubuntu: sudo apt install ffmpeg

ffmpeg 用于视频压缩功能,如仅需下载功能可不安装。

Python 包

包名用途
f2抖音视频下载框架
playwright浏览器自动化(扫码登录)
pyyamlYAML 配置文件解析
httpx异步 HTTP 客户端
aiofiles异步文件操作

详细安装说明:见 references/INSTALLATION.md

详细使用说明:见 references/USAGE.md

参考资源

与其他技能配合

FunASR 语音转文字

下载的视频可以使用 funasr-transcribe 技能将视频转录为带时间戳的 Markdown 文件。

配合方式:先使用抖音下载技能获取视频,再使用 FunASR 技能进行转录。两个技能独立运行,可根据需要灵活组合使用。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

multi-search

No summary provided by upstream source.

Repository SourceNeeds Review
General

funasr-transcribe

No summary provided by upstream source.

Repository SourceNeeds Review
General

md2word

No summary provided by upstream source.

Repository SourceNeeds Review