☰
DouK-Downloader 抖音 TikTok 作品批量下载:5 类任务跑通实操
2026/10/18 4:21:51 网站建设 项目流程

DouK-Downloader 抖音 TikTok 作品批量下载:5 类任务跑通实操

【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader

DouK-Downloader(历史名称 TikTokDownloader)是一款开源免费的抖音 / TikTok 作品批量下载与数据采集工具。粘贴作品链接,视频文件落进本地 Download 文件夹;整账号、整场直播、整批评论数据,也交给它跑。本文覆盖 5 个核心场景:环境安装与 Cookie 配置、单条作品下载、直播录制、账号作品批量下载、Web API 服务化接入。

5 分钟装好并写入 Cookie

  1. 克隆仓库并同步依赖(需 Python ≥ 3.12,uv是 Python 包管理工具,负责一键装依赖):
git clone https://gitcode.com/GitHub_Trending/ti/TikTokDownloader cd TikTokDownloader uv sync --no-dev && uv run main.py
  1. 不想配环境?下载 Windows / macOS 平台的预编译可执行文件,解压后双击main运行;macOS 首次运行先在终端执行xattr -cr 项目文件夹路径移除系统安全标记。
  2. 程序启动后会展示免责声明,按提示输入确认进入主菜单。
  3. 浏览器登录抖音网页版,按F12打开开发者工具,切到"网络"选项卡,筛选框输入cookie-name:odin_tt,点开任意作品评论区。
  4. 选中任意请求,复制Cookie的完整值;回主菜单选**"手动输入 Cookie (抖音)"粘贴,或选"从剪贴板读取 Cookie (抖音)"**按提示确认,凭证即写入settings.json。
  5. 其余字段(下载目录、线程数等)保持默认即可。终端约定:直接回车 = 返回上级菜单,输入Q= 退出程序。

用一条链接存下单条作品

效果:粘贴一条链接,视频文件出现在程序根目录的Download文件夹。

  1. 主菜单选择**"终端交互模式"**;
  2. 选择**"批量下载链接作品(抖音)",再选"手动输入待采集的作品链接"**;
  3. 粘贴作品链接(App 里"复制链接"得到的分享口令同样可以),回车;
  4. 看到文件进入Download文件夹即成功,多链接可继续粘贴。

  • 链接里不要带换行符,混入空行可能解析失败;
  • 图集作品会拆成多张图片保存,属正常现象;
  • 想同时保留封面,把settings.json的dynamic_cover、static_cover改为true;
  • 复制即下载:主菜单的**"后台监听模式"**会盯着剪贴板,省掉手工粘贴。
  • 下载核心逻辑见 download.py,数据提取见 extractor.py。

顺手把直播也录下来

  • settings.json的ffmpeg字段必须填本机 FFmpeg 的完整路径,否则提示"未检测到有效的 ffmpeg,不支持直播下载功能";
  • 主菜单选择**"终端交互模式",再选"获取直播拉流地址(抖音)"**,粘贴直播间分享链接;
  • 程序解析出直播数据并列出清晰度,输入清晰度名称或序号(如FULL_HD1、HD1、SD1),录制随即开始;
  • 直播结束后录制文件自动落盘到下载目录;清晰度一栏直接回车 = 只要拉流地址、不录制;
  • 想中途停止按Ctrl + C,不要直接关终端窗口。

把整个账号作品页拉下来

给一条主页链接,把整个作品页拉下来,重复运行只补新增。

  1. 选择**"终端交互模式",再选"批量下载账号作品(抖音)"**;
  2. 粘贴账号主页链接,程序自动解析账号信息;
  3. 选择内容类型:发布 / 喜欢 / 收藏 / 收藏夹;
  4. 多线程并发开始下载。
  • 下载过的作品 ID 会被记录,下次运行自动跳过,反复跑同一个账号只存新增的;
  • 时间范围用earliest、latest两个字段限定,只拉指定时段内的作品;
  • 喜欢、收藏页平台只返回发布日期不返回操作日期,作品多时耗时较长,用max_pages字段限制请求页数;
  • 私密账号的作品,需要来自已关注该账号的登录态 Cookie 才能拉到;
  • TikTok 的账号作品批量下载,需先在settings.json配置device_id参数。

想长期跟踪某个账号,把链接登记进settings.json,每次启动只补新作品:

"accounts_urls": [ { "mark": "我关注的博主", "url": "https://www.douyin.com/user/xxx", "earliest": "2024-01-01", "enable": true } ]

合集同理:链接填进mix_urls字段,mark、url、enable三项即可。

把下载和采集封装成本地服务

下载和采集能力想封装成服务、或直接落盘成表格,都从这一节开始。

采集评论与热榜数据

  • 先开存储格式:把settings.json的storage_format字段设为csv、xlsx、sqlite之一,采集结果按该格式落盘;
  • 评论:选择**"采集作品评论数据(抖音)"**,粘贴作品链接,程序按页拉取评论与回复;
  • 热榜:选择**"采集抖音热榜数据(抖音)"**,直接采集当前榜单;
  • 程序内置智能延时机制控制请求节奏,评论量特别大的作品建议用pages参数限制采集页数,不要自行调高请求频率。

接入 Web API

  • 主菜单选**"Web API 模式"**,本地服务随即启动;浏览器访问http://127.0.0.1:5555/docs查看自动生成的接口文档;
  • 常用端点:POST /douyin/detail(单作品数据,参数传detail_id)、POST /douyin/account(账号作品页,参数传sec_user_id)、POST /douyin/comment(评论数据);TikTok 对应/tiktok/detail、/tiktok/account;
  • 只有分享链接时先调POST /douyin/share,把口令文本换成完整链接。

from httpx import post data = {"detail_id": "0123456789", "pages": 2} response = post( "http://127.0.0.1:5555/douyin/comment", json=data, headers={"token": ""}, ) print(response.json())

部署到服务器长期跑,用仓库自带的Dockerfile构建镜像,把5555端口映射出去即可;容器访问不到宿主机文件系统,依赖本地资源的个别功能在容器里不可用。另外settings.json改动后要重启程序才生效。各平台接口实现见 interface/ 目录。

排障速查

现象大概率原因操作
只下到低清晰度Cookie 失效,程序拿不到高清数据按前文步骤重新获取一份已登录的 Cookie 写入
请求超时、下载中断网络受限在settings.json的proxy字段配置代理后重试
下载到一半停止磁盘空间不足清理磁盘,或把root字段改到别的盘
提示"未检测到有效的 ffmpeg"未配置 FFmpeg 路径把本机 FFmpeg 完整路径填入ffmpeg字段
启动程序失败Python 版本低于 3.12 或依赖缺失确认版本后重新uv sync --no-dev再运行

还查不到原因,先看程序日志目录里的当日日志;问题仍在,去仓库提 issue,附上系统版本与报错原文。

从一条视频、一个账号主页,到整场直播、整批评论数据,DouK-Downloader 把这些重复动作都变成了可以放着跑的自动任务。仅限个人学习研究,遵守平台规则与版权要求。实现层面可从这几处入手:下载核心、数据提取、各平台接口实现、全部配置项定义。

【免费下载链接】TikTokDownloader抖音 / TikTok 平台作品下载/数据采集工具项目地址: https://gitcode.com/GitHub_Trending/ti/TikTokDownloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询