抖音TikTok数据采集免费方案:DouK-Downloader从下载到分析的完整上手指南
【免费下载链接】TikTokDownloaderTikTok 发布/喜欢/合辑/直播/视频/图集/音乐;抖音发布/喜欢/收藏/收藏夹/视频/图集/实况/直播/音乐/合集/评论/账号/搜索/热榜数据采集工具/下载工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
你有没有遇到过这种时刻:刷到一个创作者,作品全是你喜欢的风格,想把他的视频都存下来慢慢看,结果发现只能一个视频一个视频地点开、保存,五百个作品就要重复五百次操作?或者你是做内容运营的,需要定期采集竞品账号的评论数据来分析用户喜好,手动复制粘贴到凌晨?再或者你是个开发者,想把某类视频的下载能力集成进自己的系统,却发现平台接口全都加密、无从下手?
这些问题,DouK-Downloader 一个开源项目就能全部解决。它是一个完全免费的抖音TikTok数据采集工具,既能批量下载视频,也能采集评论、热榜、搜索等结构化数据,支持命令行、Web API 和后台监听三种用法。本文会用三个真实使用场景带你走一遍完整流程:怎么装、怎么配、怎么用、怎么优化,保证新手看完就能跑通第一条下载任务。
场景一:个人收藏党,如何把整个账号的作品一次搬回家
先说你最可能用到的情况——把某个账号的所有作品批量下载到本地。DouK-Downloader 支持的下载范围很广,先给你看个概览:
- 抖音:账号发布、喜欢、收藏、收藏夹作品,合集作品,单个链接作品
- TikTok:账号发布、喜欢作品,合辑作品,单个链接作品
- 直播:获取拉流地址,用 ffmpeg 录制成文件
- 附加文件:视频原画、图集、实况/动图、音乐、动态/静态封面,都可按需下载
也就是说,不管是抖音还是 TikTok,绝大多数你能看到的内容形式它都覆盖了,不需要在两个工具之间来回切换。
第一步:克隆代码并安装环境
项目基于 Python 3.12 和 HTTPX 构建,依赖安装推荐用 uv,又快又省心。打开终端执行:
git clone https://gitcode.com/GitHub_Trending/ti/TikTokDownloader cd TikTokDownloader # 方式一:uv 同步依赖(推荐) uv sync --no-dev # 方式二:传统 pip 安装 pip install -r requirements.txt依赖装完后,直接启动:
uv run main.py # 或者 python main.py第一次启动会看到免责声明和功能选择界面。程序自动生成的配置文件位于Volume/settings.json,后续很多高级设置都在这里改。下面这张图就是程序的终端交互主界面,所有功能入口都列得清清楚楚:
第二步:配置 Cookie,拿到你的"通行证"
这一步最关键,但也最简单。Cookie 相当于平台识别你身份的凭证,程序靠它才能正常请求数据。获取方法:打开浏览器访问抖音或 TikTok 网页版,按 F12 打开开发者工具,在"网络"标签里随便点开一个数据包,把请求头里的 Cookie 字段完整复制下来。更详细的分步教程在项目文档里:docs/Cookie获取教程.md。
拿到 Cookie 后,回到程序界面选择"手动输入 Cookie(抖音)"或"从剪贴板读取 Cookie(抖音)",粘贴进去就完成了。有两点要提醒你:
- Cookie 不是每次运行都要重新填,只有失效导致请求失败时才需要更新
- 如果要用 TikTok 的功能,除了 Cookie,还需要在配置文件的
browser_info_tiktok里填device_id参数,获取方式和 Cookie 一模一样
场景二:运营与分析师,评论、热榜、搜索数据一键入库
如果你做内容运营、竞品分析或者市场研究,下载视频只是第一步,你可能更关心那些"看不见"的数据——评论说了什么、什么话题在涨、用户搜什么。DouK-Downloader 把这部分也做成了独立功能:
- 采集作品评论数据:输入作品链接,程序会翻页抓取全部评论,支持设置最大请求页数
- 采集账号详细数据:昵称、标识、粉丝量等账号维度信息
- 采集搜索结果数据:支持用户、作品、直播三个维度
- 采集抖音热榜数据:追踪当下最热的话题和视频
这些数据默认以 CSV、XLSX 或 SQLite 三种格式之一持久化保存到Volume/Data文件夹,直接就能扔进 Excel 或 pandas 里分析。配置方法很简单,在settings.json里设置storage_format参数即可:
{ "storage_format": "csv" }设为csv或xlsx就是表格文件,设为sql会写入 SQLite 数据库。注意:采集类功能必须设置这个参数才会真正保存数据,不然只会在终端里打印出来。
如果你是开发者,想把这套能力接进自己的系统,项目还提供了完整的 Web API 模式。在功能菜单选择"Web API 接口模式"启动服务后,浏览器访问http://127.0.0.1:5555/docs就能看到自动生成的接口文档:
接口按平台和功能划分得很清晰,抖音端有/douyin/share、/douyin/account、/douyin/mix、/douyin/live、/douyin/comment、/douyin/search/general等,TikTok 端对应/tiktok/share、/tiktok/account、/tiktok/mix、/tiktok/live等。拿 Python 调用一个接口采集评论,代码就这么几行:
from httpx import post from rich import print def demo(): headers = {"token": ""} # 服务端设置的访问令牌 data = { "detail_id": "0123456789", # 作品 ID "pages": 2, # 抓取页数 } api = "http://127.0.0.1:5555/douyin/comment" response = post(api, json=data, headers=headers) print(response.json()) demo()接口返回的是标准 JSON,配合你现有的调度框架,就能实现定时、批量、自动化的数据采集流水线。
场景三:自动化进阶,从配置文件开始的提效玩法
场景聊完了,来点更进阶的。这一节把散落在各处的优化技巧合并在一起讲,改完配置文件,下载体验会有质的提升。配置文件就是src/config/settings.py里定义的那份默认值,运行后生成在Volume/settings.json。
文件命名与归档:让下载结果一眼可辨
默认的文件名格式是"发布时间-作品类型-账号昵称-描述",你可以通过name_format自由组合这些字段:
{ "name_format": "create_time type nickname desc", "desc_length": 64, "folder_mode": false }字段支持:id(作品 ID)、desc(描述)、create_time(发布时间)、nickname(账号昵称)、mark(账号标识)、uid(账号 ID)、type(作品类型)。想让每个作品单独一个文件夹,把folder_mode设为true即可。
下载控制:多线程、断点续传、大小过滤
程序内置多线程下载、文件断点续传和完整性校验,这些默认就开着,不用操心。但有几个参数值得你根据网络情况微调:
{ "chunk": 2097152, "timeout": 10, "max_retry": 5, "max_size": 0, "max_pages": 0 }max_retry:请求失败自动重试次数,网络不稳可以调大max_size:跳过超过指定大小(字节)的文件,单位是字节max_pages:喜欢/收藏作品、评论数据请求的最大翻页数,作品很多时可以用来控制耗时
直播录制与代理
下载直播需要 ffmpeg,程序会优先调用系统环境的 ffmpeg,也可以在配置里指定路径。如果你的网络环境需要代理才能访问 TikTok,分别设置proxy(抖音)和proxy_tiktok两个参数即可。
后台监听模式:剪贴板一有链接就自动下载
最后一个偷懒神器是"后台监听模式"。开启后程序会盯着你的剪贴板,一旦复制了抖音或 TikTok 的分享链接,就自动解析并下载,完全不需要手动操作。适合一次性批量处理一堆链接的场景:你在网页上把想下载的作品链接逐个复制,程序在后面默默帮你全部存好。
完整上手流程:从零下载第一个作品
把上面的内容串起来,一个完整的最小化流程是这样的:
- 克隆项目并安装依赖,运行
uv run main.py - 选择"手动输入 Cookie(抖音)",粘贴从浏览器复制的 Cookie
- 回到主菜单,选择"终端交互模式"
- 选择"批量下载链接作品"→"手动输入待采集的作品链接"
- 粘贴一个抖音作品链接,回车确认
- 等待下载完成,文件默认保存在
Volume/Download文件夹
第一次跑通后,你会看到每个作品的下载进度、文件大小、描述信息都实时显示在终端里,配合上面介绍的配置文件优化,整个体验非常顺手。
常见问题:上手前先看看这些坑
Cookie 明明填了,为什么还是提示获取数据失败?
大概率是 Cookie 过期了,重新登录平台获取一份新的即可。另外注意粘贴时不要带入换行符,检查 Cookie 格式是否完整。
私密账号的作品可以下载吗?
可以,但有两个前提:使用的 Cookie 必须处于登录状态,而且登录的账号需要关注该私密账号。权限不足时程序会明确报错。
批量下载账号作品时,昵称变了文件名会乱吗?
不会。程序会自动检测账号昵称或标识的变化,并同步更新已下载作品文件名中的对应字段。
下载中途想停止怎么办?
按下Ctrl + C即可安全终止,不要直接关闭终端窗口。程序会把文件先下载到临时文件夹,完成后再移入正式目录,中断不会留下半截文件。
为什么有些功能提示加密参数失效?
由于合规要求,项目自带的加密参数算法已不再维护。如果遇到相关功能异常,需要按文档指引自行准备加密参数生成代码(encipher.py),项目文档里有完整的类模板和配置说明,建议有一定编程基础再操作。
安全使用与合规提醒
工具本身完全开源、完全免费,但请一定注意使用边界:
- 控制请求频率:项目内置了智能延时请求机制,请勿关闭后高频请求,避免给平台服务器造成压力
- 尊重版权:下载的内容仅限个人学习与备份,不要用于商业分发
- 保护隐私:不要采集、传播他人的隐私信息
- 遵守平台规则:请勿用于绕过平台限制或批量抓取付费内容
你的行动清单
- 克隆仓库到本地,用
uv sync --no-dev装好依赖 - 按教程获取 Cookie,粘贴进程序并启动终端交互模式
- 用一条作品链接跑通第一个下载任务
- 修改
settings.json的name_format和storage_format,让输出更整齐 - 尝试批量下载一个账号的全部作品,感受增量下载和自动跳过的效率
- 进阶玩家启动 Web API 模式,看看接口文档,尝试写一个自动化脚本
从今天起,手动保存视频和复制评论的日子可以结束了。动手跑一次,你会发现抖音TikTok数据采集这件事,原来可以这么简单。
【免费下载链接】TikTokDownloaderTikTok 发布/喜欢/合辑/直播/视频/图集/音乐;抖音发布/喜欢/收藏/收藏夹/视频/图集/实况/直播/音乐/合集/评论/账号/搜索/热榜数据采集工具/下载工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考