DouK-Downloader免费批量下载抖音作品与评论指南
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
假设你的任务是:把某个抖音账号近 3 个月的作品全部存到本地,再把评论数据导出成 CSV,以后定期重跑一遍。DouK-Downloader 就是为这类需求准备的开源免费抖音 / TikTok 作品下载与数据采集工具,它覆盖账号作品批量下载、链接作品下载、评论采集、搜索、热榜和直播录制,采集结果还能按 CSV、XLSX、SQLite 三种格式持久化。下面按最短路径带你从零跑到第一个作品落盘。
十分钟完成第一次下载
准备 Python 3.12+ 环境(请求层基于 HTTPX),然后从源码安装依赖并启动:
git clone https://gitcode.com/GitHub_Trending/ti/TikTokDownloader cd TikTokDownloader uv sync --no-dev uv run main.py启动后按提示接受免责声明。接下来要写入 Cookie:用浏览器打开抖音网页版,按 F12,在"网络"选项卡勾选"保留日志"、筛选器输入cookie-name:odin_tt,点击任意作品的评论区,把请求里的完整 Cookie 复制粘贴回程序即可。它只需配置一次,失效再重写;用登录态的 Cookie 还能解锁更高分辨率的视频,详细步骤见 Cookie 获取教程。
回到主菜单,选"终端交互模式",再选"批量下载链接作品",粘贴一条抖音作品链接,几秒后文件就会落到Download文件夹——你的第一个作品已经下载成功。
⚡ 什么任务挑什么能力
DouK-Downloader 在终端交互模式和 Web API 模式下的能力基本一致,对号入座即可:
| 场景 | 怎么做 | 要动的参数 |
|---|---|---|
| 保存几条作品 | 批量下载链接作品,支持图集、实况,可顺带存封面、提取音频 | music、static_cover |
| 定期保存某账号作品 | 批量下载账号作品,支持发布 / 喜欢 / 收藏 / 合集,自动跳过已下载文件、增量下载 | accounts_urls里的tab、earliest、latest |
| 只采数据不要文件 | 采集评论、搜索、热榜,结果按格式落盘 | storage_format(csv / xlsx / sqlite) |
| 录直播 | 获取抖音 / TikTok 拉流地址,调用 FFmpeg 实时录制 | live_qualities、ffmpeg |
| 被其他设备调用 | Web API 模式,自带/docs文档页,token 鉴权 | run_command |
TikTok 平台的这部分功能还需要device_id等初始参数,获取方法在 Cookie 获取教程 末尾。
走一遍完整链路:预置账号、批量下载、数据落盘
- 把账号预置进配置。DouK-Downloader 首次运行会自动生成
settings.json,在其中accounts_urls下填入账号:
"accounts_urls": [ { "mark": "美食博主", "url": "https://www.douyin.com/user/xxx", "tab": "post", "earliest": "2026-06-29", "latest": "", "enable": true } ]mark是自定义标识,账号昵称变化时已下载文件名会自动同步更新;tab取post(发布)、like(喜欢)、favorite(收藏);earliest/latest按发布时间做筛选。
重启后开始批量下载。
settings.json改完必须重启程序。进入"批量下载账号作品",文件会先下到临时目录、完整后才移入目标文件夹,不会出现半截文件;已下载的作品自动跳过,所以反复运行就是增量下载。打开数据落盘。把
settings.json里的storage_format从空改成csv并重启,采集到的作品、评论就会以 CSV 文件写到Volume目录,直接可以进 Excel 或喂给后续脚本。
把下载能力变成局域网可调用的服务
想从别的机器调用 DouK-Downloader 的能力,就选"Web API 模式"启动,服务默认监听127.0.0.1:5555。浏览器打开http://127.0.0.1:5555/docs能看到自动生成的接口文档,所有请求都要在请求头带token。端点命名规律是/douyin/xxx和/tiktok/xxx,覆盖分享链接解析、作品详情、账号作品、合集、直播、评论采集等,定义都在 src/application/main_server.py 里,可对照查看。
最短调用示例,采集某作品 2 页评论:
from httpx import post post( "http://127.0.0.1:5555/douyin/comment", json={"detail_id": "0123456789", "pages": 2}, headers={"token": "你的token"}, )⚠️ 改高频配置与排障合并看
DouK-Downloader 的settings.json里最值得动的 5 个键:
folder_name/name_format→ 默认存Download文件夹,文件名为create_time type nickname desc(desc_length默认 64、name_length默认 128)→ 改它调整保存目录和文件名风格;music→ 默认false→ 改true后下载作品时同步提取音频流;storage_format→ 默认空(不记录数据)→ 改csv、xlsx或sqlite后采集类功能才落盘;proxy/proxy_tiktok→ 默认空 → 被限流时再配,平时留空;timeout/max_retry→ 默认超时 10 秒、重试 5 次 → 网络不稳时把超时调大,别为求快硬堆并发,程序自带智能延时防请求过频。
下载性能还有chunk(单次接收数据块,默认 2MB)和max_size(单文件上限,默认 0 不限制),一般不动。
出问题时先查这张表:
| 现象 | 原因 | 处理 |
|---|---|---|
| 只能下到低分辨率视频 | Cookie 未登录或已过期 | 重新抓一份登录态 Cookie 写入配置 |
| 请求失败、返回空数据 | Cookie 失效、IP 被限流 | 更新 Cookie,settings.json里配proxy |
| TikTok 功能受限 | 缺device_id等初始参数 | 按教程补齐browser_info_tiktok |
| 私密账号作品下不了 | 登录账号未关注该账号 | 换用已关注它的账号的 Cookie |
| 改配置没效果 | 程序未重启 | 修改settings.json后重启 |
两个操作约定:程序提示输入时,直接回车是返回上级菜单,输Q退出;运行中要停止请用Ctrl + C,不要直接关终端窗口。
知道边界,再走下一步
项目按 GNU GPL v3.0 协议开源,使用即需遵守协议条款;采集的数据仅供个人学习研究,别拿去未授权的内容传播或商业抓取,付费作品不在支持范围。README 也注明内置加密参数算法已停止维护,部分接口可能失效,遇到时以项目最新文档为准。
建议的下一步:把settings.json的storage_format改成csv,重启程序重跑一次批量下载账号作品,然后看Volume目录里是否生成了新的 CSV——生成的话,"下载 + 采集"这条链路就全通了。
【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考