抖音批量下载实战:从安装配置到评论采集与转写的上手指南
【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader
在需要把某位创作者近 30 天的作品连同 BGM、封面和元数据一起归档到本地时,你通常要做的是:逐条复制链接、逐个等待下载、手动重命名、再自建档案。抖音批量下载是可以完整交给工具完成的任务。
本文以开源项目 douyin-downloader 为例。它是一套命令行加配置文件驱动的抖音批量下载工具,支持视频、图集、合集、音乐的无水印获取,提供 SQLite 去重、增量下载与浏览器兜底;配套的图形化桌面端叫 Douzy,两者共享同一套下载后端。
📋 能力速览:一次拉全一个主页
它处理的是"一次拉全"的任务:指定创作者主页后,它分页抓取作品列表,自动挑选无水印源并按最高码率下载;与手动复制链接不同,你可以直接给出主页地址做全量拉取。每个作品可同时产出封面、背景音乐、元数据 JSON、评论 JSON 和语音转写文件。SQLite 历史记录与磁盘文件双重检查负责去重和增量,分页被风控拦截时会自动启动浏览器兜底。桌面端 Douzy 把同一后端包进图形化工作台,粘贴链接即可开始,在任务中心查看每个任务的结果。
🛠️ 最小安装与首次运行
环境要求是 Python 3.8+,macOS、Linux、Windows 均可运行。克隆后复制一份示例配置,填好链接字段即可启动:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader && pip install -r requirements.txt cp config.example.yml config.yml python run.py -c config.yml涉及收藏夹等登录态内容时,先运行内置的认证工具完成抖音登录,Cookie 会写回配置文件:python -m tools.cookie_fetcher --config config.yml。如果打算使用浏览器兜底,再额外安装 playwright 和 chromium 浏览器内核。命令行参数也可以临时覆盖配置,例如-u追加链接、-t调整并发。
⚙️ 关键配置:链接、模式与增量开关
完成一次批量下载只需要动五个配置项,其余字段都有合理默认值,完整字段清单和默认值见 config/default_config.py:
link: [https://www.douyin.com/user/MS4wLjABxxxx] # 主页或单作品链接 mode: [post] # post/like/mix/music 可组合 number: {post: 0} # 0 表示不限 increase: {post: true} # 增量下载,跳过已有 thread: 5 # 并发数link 可以是主页、单作品、合集或音乐链接,程序会自动识别类型;mode 决定抓取内容类型,可一次指定多个,同一作品在不同模式间自动去重。number 按模式分别限额,start_time 和 end_time 则用于按发布日期做时间过滤。
🎯 任务一:批量拉取某账号的全部作品与合集
配置片段
只抓最近 30 天的作品并拉全合集,分页被拦截时自动转浏览器:
link: [https://www.douyin.com/user/MS4wLjABxxxx] mode: [post, mix] number: {post: 50, mix: 0} start_time: "2026-08-18" browser_fallback: {enabled: true, headless: false}预期产出
folderstyle 为 true 时每个作品独占一个目录,媒体与封面、BGM、元数据同目录存放,合集作品落在 mix/ 下:
Downloaded/旅行摄影日记/ ├── post/2026-08-20_黄昏延时_7341xxxx/{mp4, music.mp3, cover.jpg, data.json} └── mix/城市漫游路线合集_7342xxxx/任务跑完后,下载目录根部还有一份 download_manifest.jsonl 记录本次任务的清单,方便核对遗漏。
🎵 任务二:只提取背景音乐与封面素材
配置片段
做音乐素材库时把 mode 切到 music 并打开封面开关,不需要下载视频本体:
link: [https://www.douyin.com/user/MS4wLjABxxxx] mode: [music] music: true cover: true预期产出
原声文件落入作者目录下的 music/ 子目录,封面留在各作品文件夹里:
Downloaded/旅行摄影日记/ ├── music/城市漫步_7343xxxx/track.mp3 └── post/2026-08-20_.../cover.jpgmusic 模式优先取直接音频源,取不到时会退回第一个关联作品的音频,所以产物数量可能与作品数略有差异。
📊 任务三:评论采集与语音转写做分析
配置片段
打开 comments 与 transcript 两个开关即可,转写调用 OpenAI Transcriptions 接口,建议通过环境变量传密钥:
mode: [post] comments: {enabled: true, max_comments: 200} transcript: {enabled: true, model: gpt-4o-mini-transcribe, response_formats: [txt, json]}include_replies 设为 true 会额外抓取二级回复,API 调用量会明显增加,按需开启。
预期产出
评论和转写文件生成在媒体旁边,转写只对视频作品生效,状态会记入数据库的 transcript_job 表。桌面端任务中心可以核对成功与失败数量,并直接打开输出目录:
post/2026-08-20_街头采访_7344xxxx/ ├── video.mp4 ├── video_comments.json └── video_transcript.txt / video_transcript.json📁 文件组织与数据机制:命名模板与 SQLite 去重
默认布局是作者目录之下再按模式分一层:
Downloaded/ └── 旅行摄影日记/ # author_dir: nickname / sec_uid / nickname_uid ├── post/{date}_{title}_{id}/ └── like/ mix/ music/ collect/ dy_downloader.db # 下载历史,位于工作目录filename_template 与 folder_template 支持 {id}、{title}、{date}、{type} 等变量,变量白名单和渲染规则见 utils/naming.py,模板里带 {id} 是避免重名覆盖的关键。author_dir 可选昵称、sec_uid 或"昵称_uid",最后一项兼顾直观与唯一。去重靠"数据库记录 + 本地文件"双重检查:increase 为 true 时,只有磁盘上主媒体非空的作品才会被跳过;删掉本地文件,下一次运行就会重新下载,数据库记录本身不会阻止新下载。想强制重下全部内容,需要把目录和数据库一并清理。
🔍 高频卡点排查
分页停在二十条左右就结束
可能是作品列表请求触发了平台风控,翻页被限制在前几页。处理方式是把 browser_fallback.enabled 设为 true、headless 设为 false,在弹出的浏览器窗口里手动完成验证,并不要提前关闭窗口;有桌面端的话,它的请求经由内置登录窗口发出,可直接用于这类场景。
请求返回 403 或数据为空
可能原因有两个:Cookie 过期,或对应接口被平台风控限制(单作品、合集、音乐与点赞收藏夹近两个月已受签名机制限制)。先运行 cookie_fetcher 重新获取认证;仍无效时,改用桌面端处理这类内容,或等待接口恢复。
转写文件没有生成
按顺序检查:transcript.enabled 是否为 true;下载对象是否为视频(图集不转写);OPENAI_API_KEY 是否有效;response_formats 里是否包含 txt 或 json。四项都正常仍无输出时,查一下数据库里 transcript_job 表的错误信息。
下载速度慢或频繁超时
可能是并发过高或网络质量差。把 thread 降到 3,retry_times 提到 5,必要时给 proxy 指定一个出口;进度阶段开着 progress.quiet_logs: true 即可保持日志干净,调试时用 -v 参数看详细输出。
想强制重下某个作品
程序把"本地文件缺失"视为需要重下,而"数据库有记录且文件在"会继续跳过。删掉对应作品文件夹(目录名包含 aweme_id)后重跑即可;要整体重下某个作者,则清空该作者目录并删除数据库里对应记录。
从一条主页链接到包含媒体、元数据、评论与转写的可复跑档案任务,douyin-downloader 把抖音批量下载变成日常操作。可以继续扩展 --search 关键词检索或 REST API 服务模式。本工具仅限个人学习、研究与数据管理用途,请尊重创作者版权。
【免费下载链接】douyin-downloaderA practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载工具,去水印,支持视频、图集、合集、音乐(原声)。项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考