DouK-Downloader 抖音批量下载工具完整指南:从 Cookie 配置到直播录制
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
想把某个创作者的几百条作品完整存到本地,再顺手把评论和账号数据导出成表格?DouK-Downloader 是一款完全开源免费的抖音下载工具,同时覆盖 TikTok:批量下载账号作品、采集结构化数据、录制直播流,并提供 WebAPI 接口,Windows、macOS、Linux 均可运行。
一分钟看懂能力范围:输入与输出对照
| 能处理什么 | 你拿到的东西 | 适合谁 |
|---|---|---|
| 一条或多条作品链接 | 最高画质视频、图集图片文件 | 偶尔存个别人视频的用户 |
| 抖音 / TikTok 账号主页链接 | 发布、喜欢、收藏作品文件 + 点赞收藏统计数据 | 长期关注特定创作者的人 |
| 抖音合集 / TikTok 合辑链接 | 按合集归档的整套视频文件 | 归档课程、知识系列内容的人 |
| 抖音 / TikTok 直播间链接 | 推流地址 + ffmpeg 录制出的直播视频 | 需要留存直播内容的人 |
| 作品、账号、搜索、热榜 | CSV / XLSX / SQLite 结构化数据文件 | 做分析、做内容选题的人 |
| 以上全部功能 | 可被程序调用的 HTTP 接口(默认端口 5555) | 要把下载动作嵌进自动化流程的人 |
装好程序:三个系统各一行
Windows 与 macOS 用户:到项目 Releases 或 Actions 页面下载对应系统的压缩包,解压后双击运行main。macOS 首次运行会被系统拦截,先在终端执行一条命令解除安全标记:
xattr -cr main.appLinux(或任意系统的源码方式):
git clone https://gitcode.com/GitHub_Trending/ti/TikTokDownloader && cd TikTokDownloader && uv sync --no-dev && uv run main.py源码方式要求 Python 3.12 及以上,uv会自动处理依赖。有服务器或 NAS 的,直接用 Docker:docker pull拉取joeanamier/tiktok-downloader镜像后创建容器即可,注意容器读不到宿主机的浏览器 Cookie,其余功能正常,把 5555 端口映射出来方便调用 WebAPI。
六步跑通第一次:Cookie 获取与首次下载
- 浏览器打开
https://www.douyin.com/,建议先登录账号,按F12打开开发者工具,切到「网络」选项卡并勾选「保留日志」。 - 在筛选器输入
cookie-name:odin_tt,随便点开一条作品的评论区触发请求,选中任意一个数据包,全选复制它携带的 Cookie 值。 - 启动程序,阅读免责声明后按提示接受。
- 选择「从剪贴板读取 Cookie」,程序会把刚才复制的内容写入
settings.json,这一步之后无需重复操作,失效了再更新。 - 依次选择「终端交互模式」→「批量下载链接作品」→「手动输入待采集的作品链接」,粘贴一条作品链接回车,等待视频落盘到下载目录。
- 看到文件生成即完成;菜单里直接回车是返回上级,输入
Q退出程序。
场景深入:四个高频用法
批量下载账号作品
- 打开
settings.json,在accounts_urls数组里填入账号主页链接; - 需要增量更新时,用
earliest/latest限定只采集指定日期范围内的作品; - 把
folder_mode设为true,作品按账号分文件夹归档; - 重启程序,进入「批量下载账号作品」菜单,重复运行的作品会被识别并略过,翻页逻辑内置无需手动干预。
关键参数就两个:时间窗口(earliest/latest)和归档方式(folder_mode)。
容易踩的坑:喜欢和收藏页只返回发布日期、不返回操作日期,作品多时要先拉全量数据再做筛选,耗时会明显变长,可用max_pages控制请求页数;另外私密账号需要用「已关注该账号」的登录 Cookie 才能取到数据。
导出评论、账号详情与搜索结果
- 把
storage_format改成csv、xlsx或sqlite之一; - 重启程序,选择对应的采集入口:账号详情、作品评论、搜索、热榜;
- 采集结果按作品 ID 去重后落盘,直接导入表格或数据库就能做二次分析。
关键参数是storage_format,它决定文件类型,存储位置跟随root目录。
容易踩的坑:CSV 与 SQLite 的列结构不完全一致,分析脚本里两边字段不要混着用;换格式后记得重启程序,配置修改不是热生效的。
录制抖音 TikTok 直播
- 先装好 ffmpeg 并验证
ffmpeg -version能正常执行; - 启动程序,进入「批量下载直播」菜单,粘贴直播间链接;
- 程序先请求推流地址,再交给 ffmpeg 开始录制;
- 录制前可以按提示选择清晰度;
- 结束后按
Ctrl + C收尾,不要直接点关闭按钮。
关键参数:ffmpeg(可填可执行文件的绝对路径)、live_qualities(录制清晰度)。
容易踩的坑:ffmpeg 没装或不在 PATH 里,程序会在拿完推流地址后卡住报错;直接关窗口会留下不完整的视频文件。
用 WebAPI 集成到自己的流程
- 以 WebAPI 模式启动程序,浏览器访问
http://127.0.0.1:5555/docs查看自动生成的接口文档; - 找到目标端点,按文档要求组织请求体,比如拉取作品评论的
pages参数; - 每个请求都要在请求头里带
token,值来自settings.json中的配置; - 用 httpx 之类库发请求,把下载动作嵌进自己的自动化脚本。
关键参数是token:它是所有端点的统一校验。
容易踩的坑:接口默认只在本机监听,跨机器调用要自己处理防火墙放行;token 一旦泄露,别人也能操作你的程序,不要把配置贴到公开仓库。
自动化与批量:定时任务 + 多账号配置
把多个账号同时挂进settings.json,每个账号独立设置时间窗口和启用开关,修改后重启程序生效:
{ "root": "你的下载目录", "name_format": "create_time type nickname desc", "folder_mode": true, "storage_format": "xlsx", "accounts_urls": [ { "mark": "博主A", "url": "主页链接", "earliest": "2026-01-01", "latest": "", "enable": true }, { "mark": "博主B", "url": "主页链接", "earliest": "", "latest": "", "enable": false } ] }再配合系统定时任务(如 crontab 每天固定时间执行一次启动命令),就能实现每天自动补下关注账号的新作品;重复作品自动跳过,昵称变更时已下载文件的名称也会同步更新。程序内置智能延时机制控制请求频率,一般不需要手动降速;跨网络环境或频繁被限流时,在proxy参数里填入代理地址即可。
排障:五个高频问题
为什么突然提示获取作品数据失败?多半是 Cookie 失效了,按前面的步骤重新复制一份包含odin_tt的 Cookie,从剪贴板重新写入配置即可。
为什么只能下到标清画质?Cookie 效力不足,换成已登录账号的 Cookie 后重试,分辨率通常就上去了。
为什么请求超时或下载中断?调大timeout和max_retry,网络环境复杂时在proxy里配代理;下载本身支持断点续传,中断后重跑会继续。
为什么下载进行到一半停了?先查磁盘空间,不够就把root指到大容量磁盘,或者清理旧文件。
为什么直播录制报错?多半是 ffmpeg 缺失或不在 PATH:装好后用ffmpeg -version验证,或者把绝对路径填进ffmpeg参数。
合规与参考
本项目所有能力仅作用于平台公开内容,付费内容与私密内容明确不支持下载;请只用于个人学习与研究,遵守平台规则及相关法律法规。
- 官方说明:README.md
- Cookie 获取教程:docs/Cookie获取教程.md
- 下载器核心源码:src/downloader/
- 数据接口与模型:src/interface/ · src/models/
- 容器构建文件:Dockerfile
先拿一条自己的作品链接跑通「批量下载链接作品」,确认视频正常落盘后,再把想长期留存的账号逐个填进accounts_urls。
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考