一个功能强大的抖音内容批量下载工具,支持视频、图集、音乐、直播等多种内容类型的下载。提供两个版本:V1.0(稳定版)和 V2.0(增强版)。
- Python 3.9+
- 操作系统:Windows、macOS、Linux
- 克隆项目
git clone https://github.com/jiji262/douyin-downloader.git
cd douyin-downloader- 安装依赖
pip install -r requirements.txt- 配置 Cookie(首次使用需要)
# 方式1:自动获取(推荐)
python cookie_extractor.py
# 方式2:手动获取
python get_cookies_manual.py- ✅ 经过验证:稳定可靠,经过大量测试
- ✅ 简单易用:配置文件驱动,使用简单
- ✅ 功能完整:支持所有内容类型下载
- ✅ 单个视频下载:完全正常工作
⚠️ 需要手动配置:需要手动获取和配置 Cookie
- 🚀 自动 Cookie 管理:支持自动获取和刷新 Cookie
- 🚀 统一入口:整合所有功能到单一脚本
- 🚀 异步架构:性能更优,支持并发下载
- 🚀 智能重试:自动重试和错误恢复
- 🚀 增量下载:支持增量更新,避免重复下载
⚠️ 单个视频下载:目前 API 返回空响应(已知问题)- ✅ 用户主页下载:完全正常工作
- 编辑配置文件
cp config.example.yml config.yml
# 编辑 config.yml 文件- 配置示例
# 下载链接
link:
- https://v.douyin.com/xxxxx/ # 单个视频
- https://www.douyin.com/user/xxxxx # 用户主页
- https://www.douyin.com/collection/xxxxx # 合集
# 保存路径
path: ./Downloaded/
# Cookie配置(必填)
cookies:
msToken: YOUR_MS_TOKEN_HERE
ttwid: YOUR_TTWID_HERE
odin_tt: YOUR_ODIN_TT_HERE
passport_csrf_token: YOUR_PASSPORT_CSRF_TOKEN_HERE
sid_guard: YOUR_SID_GUARD_HERE
# 下载选项
music: True # 下载音乐
cover: True # 下载封面
avatar: True # 下载头像
json: True # 保存JSON数据
# 下载模式
mode:
- post # 下载发布的作品
# - like # 下载喜欢的作品
# - mix # 下载合集
# 下载数量(0表示全部)
number:
post: 0 # 发布作品数量
like: 0 # 喜欢作品数量
allmix: 0 # 合集数量
mix: 0 # 单个合集内作品数量
# 其他设置
thread: 5 # 下载线程数
database: True # 使用数据库记录# 使用配置文件运行
python DouYinCommand.py
# 或者使用命令行参数
python DouYinCommand.py --cmd False# 下载单个视频
# 在 config.yml 中设置 link 为单个视频链接
python DouYinCommand.py
# 下载用户主页
# 在 config.yml 中设置 link 为用户主页链接
python DouYinCommand.py
# 下载合集
# 在 config.yml 中设置 link 为合集链接
python DouYinCommand.py# 下载单个视频(需要先配置 Cookie)
python downloader.py -u "https://v.douyin.com/xxxxx/"
# 下载用户主页(推荐)
python downloader.py -u "https://www.douyin.com/user/xxxxx"
# 自动获取 Cookie 并下载
python downloader.py --auto-cookie -u "https://www.douyin.com/user/xxxxx"
# 指定保存路径
python downloader.py -u "链接" --path "./my_videos/"
# 使用配置文件
python downloader.py --config- 创建配置文件
cp config.example.yml config_simple.yml- 配置示例
# 下载链接
link:
- https://www.douyin.com/user/xxxxx
# 保存路径
path: ./Downloaded/
# 自动 Cookie 管理
auto_cookie: true
# 下载选项
music: true
cover: true
avatar: true
json: true
# 下载模式
mode:
- post
# 下载数量
number:
post: 10
# 增量下载
increase:
post: false
# 数据库
database: true- 运行程序
python downloader.py --configpython downloader.py [选项] [链接...]
选项:
-u, --url URL 下载链接
-p, --path PATH 保存路径
-c, --config 使用配置文件
--auto-cookie 自动获取 Cookie
--cookies COOKIES 手动指定 Cookie
-h, --help 显示帮助信息功能:使用 Playwright 自动打开浏览器,自动获取 Cookie
使用方式:
# 安装 Playwright
pip install playwright
playwright install chromium
# 运行自动获取
python cookie_extractor.py特点:
- ✅ 自动打开浏览器
- ✅ 支持扫码登录
- ✅ 自动检测登录状态
- ✅ 自动保存到配置文件
- ✅ 支持多种登录方式
使用步骤:
- 运行
python cookie_extractor.py - 选择提取方式(推荐选择1)
- 在打开的浏览器中完成登录
- 程序自动提取并保存 Cookie
功能:通过浏览器开发者工具手动获取 Cookie
使用方式:
python get_cookies_manual.py特点:
- ✅ 无需安装 Playwright
- ✅ 详细的操作教程
- ✅ 支持 Cookie 验证
- ✅ 自动保存到配置文件
- ✅ 支持备份和恢复
使用步骤:
- 运行
python get_cookies_manual.py - 选择"获取新的Cookie"
- 按照教程在浏览器中获取 Cookie
- 粘贴 Cookie 内容
- 程序自动解析并保存
- 打开浏览器,访问 抖音网页版
- 登录你的抖音账号
- 按
F12打开开发者工具 - 切换到
Network标签页 - 刷新页面,找到任意请求
- 在请求头中找到
Cookie字段 - 复制以下关键 cookie 值:
msTokenttwidodin_ttpassport_csrf_tokensid_guard
# 推荐使用自动工具
python cookie_extractor.py- 单个视频分享链接:
https://v.douyin.com/xxxxx/ - 单个视频直链:
https://www.douyin.com/video/xxxxx - 图集作品:
https://www.douyin.com/note/xxxxx
- 用户主页:
https://www.douyin.com/user/xxxxx- 支持下载用户发布的所有作品
- 支持下载用户喜欢的作品(需要权限)
- 用户合集:
https://www.douyin.com/collection/xxxxx - 音乐合集:
https://www.douyin.com/music/xxxxx
- 直播间:
https://live.douyin.com/xxxxx
A:
- V1.0:请检查 Cookie 是否有效,确保包含必要的字段
- V2.0:目前已知问题,API 返回空响应,建议使用用户主页下载
A:
- 使用
python cookie_extractor.py重新获取 - 或使用
python get_cookies_manual.py手动获取
A:
- 调整
thread参数增加并发数 - 检查网络连接
- 避免同时下载过多内容
A:
- V1.0:在
config.yml中添加多个链接 - V2.0:使用命令行传入多个链接或使用配置文件
A:
- 视频:MP4 格式(无水印)
- 图片:JPG 格式
- 音频:MP3 格式
- 数据:JSON 格式
- ✅ 统一入口:整合所有功能到
downloader.py - ✅ 自动 Cookie 管理:支持自动获取和刷新
- ✅ 异步架构:性能优化,支持并发下载
- ✅ 智能重试:自动重试和错误恢复
- ✅ 增量下载:支持增量更新
- ✅ 用户主页下载:完全正常工作
⚠️ 单个视频下载:API 返回空响应(已知问题)
- ✅ 稳定可靠:经过大量测试验证
- ✅ 功能完整:支持所有内容类型
- ✅ 单个视频下载:完全正常工作
- ✅ 配置文件驱动:简单易用
- ✅ 数据库支持:记录下载历史
- 本项目仅供学习交流使用
- 请遵守相关法律法规和平台服务条款
- 不得用于商业用途或侵犯他人权益
- 下载内容请尊重原作者版权
欢迎提交 Issue 和 Pull Request!
- 使用 Issues 报告 bug
- 请提供详细的错误信息和复现步骤
- 在 Issues 中提出新功能建议
- 详细描述功能需求和使用场景
本项目采用 MIT License 开源许可证。