TikTokDownloader 完整指南:免费批量下载抖音视频与采集数据一次讲透
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
假设你要把一位创作者三年的作品全部存到本地,再顺手把他正在开的直播录下来。手动保存?不现实。而 DouK-Downloader(历史项目名 TikTokDownloader)这个免费的抖音视频下载器,能帮你把这件事压缩成:粘贴一条链接,剩下的交给它。它基于 HTTPX 完全开源实现,既能批量下载抖音 / TikTok 的作品、图集、合集与直播,又能采集评论、搜索、热榜等结构化数据,并且把整套能力打包成 Web API 供程序调用。
它扮演的三种角色
与其罗列功能清单,不如把它想成同一位"多面手"在不同岗位上的样子:
| 角色 | 你用它做什么 | 关键特性 |
|---|---|---|
| 📥 搬运工 | 下载单个作品、图集、动态封面 | 粘贴链接即下,自动跳过已下载文件 |
| 🏭 仓库管理员 | 按账号、按合集持续囤内容 | 批量下载发布/喜欢/收藏作品,支持时间筛选与增量更新 |
| 📊 数据分析师 | 采集评论、回复、搜索、热榜数据 | 结果可存为 CSV / XLSX / SQLite 三种格式 |
三个角色共用同一套引擎:多线程并发下载、断点续传、临时文件夹完整性机制、昵称变化时自动重命名已下载文件。所以"下载"只是它的入门姿势,"持续采集 + 结构化存储"才是它能长期留在你电脑里的原因。
快速启动:两条命令跑起来
环境要求只有一个:Python 3.12 及以上。官方推荐用uv管理依赖,克隆仓库后两条命令即可启动:
git clone https://gitcode.com/GitHub_Trending/ti/TikTokDownloader cd TikTokDownloader uv sync --no-dev uv run main.py不想配 Python 环境也可以:Windows / macOS 用户可以直接下载 Releases 里的预编译可执行文件,解压后双击main即可运行(macOS 首次运行前在终端执行xattr -cr 项目文件夹路径移除安全标记)。启动后先阅读免责声明,按提示输入内容确认,就进入了功能主界面。
决定上限的那一步:正确写入 Cookie
Cookie 就像场馆门票——没有它也能进门,但只能看到标清画面。程序依赖登录后的 Cookie 才能获取最高分辨率视频和私密数据,它直接影响你下载到的画质,是整个流程里最值得单独讲的一步。
获取方法(以 Edge 为例):
- 浏览器访问抖音网页版,登录后按
F12打开开发者工具,切到"网络"选项卡并勾选"保留日志"; - 在筛选器输入
cookie-name:odin_tt,点击加载任意作品的评论区,然后选中任意一个数据包; - 在请求头里找到
Cookie那一长串,全选复制; - 回到程序选择"手动输入 Cookie"或"从剪贴板读取 Cookie",粘贴后按提示完成写入。
三个常见坑提前说:Cookie只在失效后才需要更新,不是每次运行都要重设;下载分辨率不理想时,第一反应应该是换新 Cookie;如果按官方推荐流程拿不到数据,也可以参考仓库里的图文教程换一种提取方式,见 Cookie 获取教程。
一条真实使用旅程:从链接到整个内容库
下面按一个真实用户的使用顺序走一遍,你会发现这些功能彼此是递进的。
第一步:先下几个链接试试手感。进入"终端交互模式",选择"批量下载链接作品",粘贴作品链接,多线程开始工作。文件先落在临时文件夹,校验完整后才归档到目标目录,命名规则(发布时间、类型、昵称、简介)可以在配置里自定义。
第二步:把某位创作者整仓"搬空"。选择"批量下载账号作品",粘贴账号主页链接,程序自动解析出账号信息。接着勾选内容来源——发布作品、喜欢列表、收藏内容或收藏夹——还可以填上时间范围,只拉取某个时间段内的作品。每下载一个作品,程序都会把作品 ID 记下来;下次再跑同样的任务,已存在的自动跳过。这意味着你可以把它挂在一批关注的账号上定期执行,每次只补新增内容。
第三步:直播不缺席。把直播间分享链接交给"获取直播推流地址"功能,选一个清晰度(FULL_HD1 / HD1 / SD1),程序调用 FFmpeg 开始录制,直播结束文件自动落盘。FFmpeg 是录制的核心组件,只需在配置文件settings.json的ffmpeg项填好可执行文件路径即可。
第四步:合集持续追更。在配置文件里登记合集链接,程序会监控并自动下载更新:
"mix_urls": [ { "mark": "Python教程", "url": "https://v.douyin.com/xxxx", "enable": true } ]第五步:顺路把数据也存了。评论采集、关键词搜索、热榜抓取与下载并行不悖——把配置文件里的storage_format设为 CSV、XLSX 或 SQLite,采集到的点赞、评论、回复等统计数据就会持久化落盘,供后续分析。所有全局配置项都集中在 配置默认值,改完settings.json后重启程序生效。
开发者接入:用 Web API 把采集能力搬进你的程序
如果你写代码,交互菜单可能还不够直接。选择"Web API 模式"启动后,访问http://127.0.0.1:5555/docs就能打开自动生成的接口文档,全部端点都挂在/douyin与/tiktok前缀下:
常用端点一览:
POST /douyin/detail:获取单个作品数据POST /douyin/account:获取账号作品数据POST /douyin/mix:获取合集作品数据POST /douyin/live:获取直播数据POST /douyin/comment、/douyin/reply:采集评论与回复POST /douyin/search/video、/douyin/search/user:搜索作品与用户
每个请求都要求携带token请求头,校验逻辑在is_valid_token()(见 src/application/main_server.py),默认允许空 token,部署到公开服务器前建议自己加上。调用示例:
from httpx import post response = post( "http://127.0.0.1:5555/douyin/comment", json={"detail_id": "0123456789", "pages": 2}, headers={"token": ""}, ) print(response.json())要部署到服务器?仓库自带Dockerfile,也可以用docker pull joeanamier/tiktok-downloader直接拉取现成镜像,一条docker run -p 主机端口:5555命令把这套采集服务挂起来长期运行(注意容器内无法访问宿主机文件系统,"从浏览器读取 Cookie"等功能不可用)。
避坑速查表
| 症状 | 可能原因 | 解法 |
|---|---|---|
| 只能下到标清视频 | Cookie 失效 | 重新获取并写入新的已登录 Cookie |
| 请求超时、下载中断 | 网络不稳 | 换网络,或在settings.json的proxy项配置代理 |
| 下载到一半停止 | 磁盘空间不足 | 清理空间或修改下载目录 |
| 请求频繁被限制 | 频率过高 | 降低任务频率,配合代理 IP 轮换 |
| 启动即报错 | 环境不满足 | 确认 Python ≥ 3.12,用uv sync --no-dev重装依赖 |
| 修改配置不生效 | 未重启程序 | 修改settings.json后必须重启 |
另外两个细节容易忽略:程序内置智能延时机制,防止请求频率过高,一般不建议关闭;采集"喜欢/收藏"列表时,平台只返回作品发布日期而非操作日期,作品量大时耗时会偏长,可用max_pages控制翻页上限。
最后提醒一句:请遵守平台规则与版权要求,只把公开内容用于个人学习、研究或合理使用,不要大规模滥用或传播涉及他人隐私的数据——工具越顺手,越要克制使用边界。
下一步:从第一个作品开始
回到开头那个场景:现在你只需要粘贴一条链接,几分钟后再粘贴一个账号主页,周末就可以把整台硬盘留给直播录制。建议按这个顺序体验:先下一条作品链接,再写一次 Cookie 验证高清下载,然后挑一个账号做增量任务,最后开一次直播录制。
如果你想往下深挖,源码的分工很清晰:下载核心在 src/downloader/,数据提取逻辑在 src/extract/,各平台接口实现在 src/interface/,数据落盘策略在 src/storage/,而所有全局配置项的默认值都写在 src/config/settings.py。对照着这份教程跑一遍再读源码,你会对整个采集架构有相当完整的认识。
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考