10 分钟上手 DouK-Downloader:抖音 TikTok 作品下载与数据采集指南
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
想收藏几个喜欢的视频,或者把某个账号的作品整批拿下来做素材,多数人的卡点都在"存不下来、存不全"这一步。DouK-Downloader 是一个免费开源的抖音 / TikTok 作品下载与数据采集工具,从单条链接解析到账号作品批量下载,再到评论、热榜、搜索等数据导出,都覆盖了。
它的操作核心是终端菜单加一份settings.json。Cookie 写入一次即可长期生效,日常使用基本不用碰代码。工具还提供 Web API 模式,下载能力可以直接被你自己的脚本调用。
下面从源码安装讲起,按"装环境 → 配 Cookie → 完成第一次下载"的顺序走一遍,再讲批量采集和数据导出的用法。
项目速览
DouK-Downloader(曾用名 TikTokDownloader)基于 Python 3.12+ 与 HTTPX 模块开发,完全开源(GPL v3.0 协议),同时支持抖音与 TikTok 双平台。适合想保存作品的普通用户、需要定期采集素材的创作者,以及要把下载能力嵌入自己系统的开发者。
- 抖音:发布 / 喜欢 / 收藏 / 收藏夹作品、图集、实况、合集;TikTok:发布 / 喜欢作品、图集
- 批量下载账号或合集作品,自动跳过已下载文件,支持增量下载
- 采集作品统计、评论、账号详情、热榜、搜索结果,按 CSV / XLSX / SQLite 持久化
- 获取直播拉流地址,调用 FFmpeg 录制直播
- Web API 模式,自动生成接口文档
- 多线程下载、断点续传、代理支持
快速上手
获取源码并安装依赖
使用 uv 是最短路径,4 条命令完成安装和启动:
git clone https://gitcode.com/GitHub_Trending/ti/TikTokDownloader cd TikTokDownloader uv sync --no-dev uv run main.py前提是本地有 Python 3.12 及以上版本。习惯 pip 的话,改用pip install -r requirements.txt后执行python main.py效果相同。
获取并写入 Cookie
Cookie 是工具唯一的"凭证",它直接决定你能下载到的最高分辨率。推荐获取步骤:
- 浏览器访问 www.douyin.com,建议登录账号
- 按 F12 打开开发者工具,切到"网络"选项卡,勾选"保留日志"
- 筛选器输入
cookie-name:odin_tt - 点击任意作品的评论区触发请求,选中请求包
- 全选并复制请求头中完整的 Cookie 值
首次运行程序时按提示选择"手动输入 Cookie"并粘贴即可,内容会写入settings.json。Cookie 无需每次运行都写,只有失效后才需要重新获取。
终端交互模式完成首次下载
回到主菜单,依次选择"终端交互模式" → "批量下载链接作品" → "手动输入待采集的作品链接",粘贴一条抖音分享链接:
文件会保存到项目根目录的Volume文件夹下,视频、音乐、封面分开存放。菜单中直接回车是返回上级,输入Q退出程序。
核心能力拆解
批量下载账号作品
在settings.json的accounts_urls字段声明账号,运行后选择账号作品批量下载模式,程序会逐个拉取并自动跳过已下载的作品:
"accounts_urls": [ { "mark": "美食博主", "url": "https://www.douyin.com/user/账号ID", "tab": "post", "enable": true } ]注意:喜欢 / 收藏作品接口不返回操作日期,按日期筛选时需要先拉全量数据,账号作品多时可用max_pages控制拉取页数。
链接作品批量下载
"批量下载链接作品"模式下逐条粘贴分享链接即可,视频、音乐、封面一次下全,断网重连后支持断点续传。注意单条链接里不要混入空格或换行符,否则会解析失败。
采集作品、评论与热榜数据
数据采集模式不落地文件,只产出数据:作品点赞 / 评论 / 分享统计、评论内容、账号详情、热榜和搜索结果,按storage_format指定的格式写入 CSV、XLSX 或 SQLite。只想留数据时把"download": false配上即可。
直播拉流与 FFmpeg 录制
粘贴直播间链接可获取 flv / m3u8 拉流地址,选定清晰度后程序自动调用 FFmpeg 录制。使用前需本机安装 FFmpeg,并在settings.json的ffmpeg字段填写可执行文件路径。注意:录制中想终止请按Ctrl + C,直接关闭终端窗口会产生残文件。
Web API 集成
启动 Web API 模式后,服务跑在127.0.0.1:5555,浏览器访问/docs可以看到自动生成的全部接口文档,端点覆盖分享解析、作品详情、账号下载、评论采集、热榜等:
from httpx import post api = "http://127.0.0.1:5555/douyin/comment" data = {"detail_id": "0123456789", "pages": 2} print(post(api, json=data).json())注意:如需开放局域网远程访问,建议配置token请求头校验,避免接口被随意调用。
进阶玩法
参数调优(均在settings.json):
chunk:分块写入大小,大文件下载建议 1048576(1MB)max_retry:单文件失败重试次数,网络不稳可调大proxy:请求代理,抖音与 TikTok 可分别配置max_pages:账号作品拉取的最大页数
定时采集新作品:程序内置监控模式,启动后持续监听账号新作品,有新发布即自动下载;想更省事的,也可以让 Web API 服务常驻,用系统计划任务按周期调用接口。
与 FFmpeg 联动:除了直播录制,下载后的文件也能交给 FFmpeg 做格式转换或音频提取。例如只留音轨:ffmpeg -i input.mp4 -vn -b:a 320k output.mp3,配合批量脚本即可把整目录作品转成 320kbps 的 MP3。
常见问题与避坑
下载的视频为什么不是最高画质?最常见原因是 Cookie 失效或未使用登录态 Cookie。重新按上面的步骤获取一次 Cookie 写入配置文件即可,已下载文件不会自动重下。
私密账号的作品为什么采集不到?私密账号需要登录后的 Cookie,且登录账号必须关注该私密账号,二者缺一都拿不到数据。
TikTok 平台为什么多要几步配置?TikTok 需要device_id等额外参数,获取方式与 Cookie 相同,具体位置见 Cookie 获取教程。
请求频繁被限流或中断怎么办?程序内置智能延时机制,正常情况不需要干预;仍不稳定时在settings.json配置proxy,或减少同时监听的账号数量。
合规提醒:
- 遵守平台服务条款,控制请求频率,不做高频爬取
- 下载的作品与采集的数据仅限个人学习、备份用途,不要二次传播
- 本项目遵循 GPL v3.0 协议,基于它做二次开发需遵守相应授权要求
下一步
DouK-Downloader 把"链接下载、批量采集、数据导出、API 集成"四件事收敛到一份配置里,入门门槛就是一条 Cookie。建议按下面 3 步走:
- 按教程更新 Cookie,用一条分享链接跑通首次下载
- 在
accounts_urls写入 1~2 个账号,跑一轮批量下载 - 打开数据采集,把作品统计导出成 XLSX 看一眼数据结构
入口:
- 仓库克隆:
git clone https://gitcode.com/GitHub_Trending/ti/TikTokDownloader - 本地文档:Cookie 获取教程
- 社区交流:QQ 群与 Discord,信息见 README 联系作者部分
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考