抖音批量下载工具教程:如何一次性存下创作者的 50 条作品(含封面、原声与元数据)
2026/9/18 4:00:32 网站建设 项目流程

抖音批量下载工具教程:如何一次性存下创作者的 50 条作品(含封面、原声与元数据)

【免费下载链接】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

Douyin Downloader 是一款开源的抖音批量下载工具,Douzy 桌面版基于同一套后端构建。它支持视频、图文、合集、音乐原声的无水印下载,能把用户主页作品整页批量抓取,并自带进度展示、失败重试、SQLite 去重和浏览器兜底。本文跟着一个真实的下载任务走,约 10 分钟就能跑通第一次批量下载。

从一个具体任务开始:把某位创作者最近 50 条作品存下来

假设你在关注一位做美食教程的博主,想把 TA 最近的 50 条作品完整存到本地——不只是视频文件,还要封面图、背景音乐和作品元数据,并且按「作者 → 发布时间」整齐归档,以后再跑任务时不要重复下载。

手动保存做不到这件事:逐条复制粘贴链接效率极低,存下来的文件没有统一的命名和目录结构,过几个月也说不清哪些下过、哪些漏了。这类需求正是 Douyin Downloader 的设计目标:一条主页链接进去,一整个归档目录出来。

上手只做两件事:装依赖 + 首次认证

工具要求 Python 3.8+,macOS / Linux / Windows 均可。

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt

如果需要用到浏览器兜底或自动获取 Cookie(第一次使用建议装),再补两条:

pip install playwright python -m playwright install chromium

接着完成首次认证。工具提供内置的 Cookie 获取器,会打开一个浏览器窗口引导你手动登录抖音:

python -m tools.cookie_fetcher --config config.yml

登录完成、首页显示已登录状态后,回到终端按 Enter,认证信息会自动写入配置文件。Cookie 只保存在本地,不经过任何第三方服务器;它过期了随时可以重跑这条命令刷新。

配置本身不需要从零写:所有字段都有合理默认值(见 config/default_config.py),在项目根目录建一个config.yml,只写你要改的项即可。

跑通第一个下载任务

config.yml里填入目标主页链接和数量上限:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50 music: true # 同时保存背景音乐 cover: true # 同时保存封面 json: true # 保存完整元数据

然后运行:

python run.py -c config.yml

工具会先拉取作品列表,再以默认 5 个并发、每秒 2 个请求的限速下载,终端里能看到实时进度条。完成后打开Downloaded/目录,结构大致是:

Downloaded/ └── 作者名/ └── post/ └── 2026-09-12_作品标题_aweme_id/ ├── …_data.json ├── …_cover.jpg ├── …_music.mp3 └── …mp4

每条作品一个独立文件夹,文件名里的日期取的是作品发布时间而不是下载时间,方便按时间线回溯。

如果你更喜欢图形界面,同一套后端还有 Douzy 桌面版(目前内测,可从项目 Releases 页获取安装包):粘贴链接即可开始下载,任务状态、重试和输出目录都在界面上直接操作。

把下载内容管好:命名、去重与元数据

命名规则可自定义。文件名和文件夹默认都用{date}_{title}_{id}模板,可替换的变量包括{id}{title}{author}{date}{year}{month}{day}{type}{mode}等(完整白名单见 utils/naming.py)。作者目录名支持nickname(默认)、sec_uidnickname_uid三种风格——昵称重名会合并、改名会分裂目录,想稳妥就选nickname_uid。一个实用建议:模板里保留{id},因为工具的磁盘判重依赖文件名中的作品 ID,去掉它会导致增量下载失效。

去重与增量是双保险的。每次运行都会同时检查 SQLite 数据库(默认dy_downloader.db)和本地文件:两者都确认已存在才跳过;数据库里有记录但文件丢了,默认会重新补下(redownload_missing_files: true)。配合increase.post: true(默认开启),定期重跑同一个任务就只拉新作品,这是「持续更新资料库」玩法的基础。想重新下载某条作品,把对应文件夹和数据库记录都删掉即可,只删其中一边是不生效的。

元数据留痕。开启json: true后每条作品旁都有完整的_data.json;输出根目录还会追加一份download_manifest.jsonl清单,逐条记录日期、标签、文件名、发布戳,适合长期检索。数据库里的aweme表存了作者、发布时间、保存路径和原始 metadata,可以直接用 SQL 分析:

sqlite3 dy_downloader.db "SELECT author_name, title, datetime(download_time,'unixepoch','localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"

三个值得了解的高阶开关

浏览器兜底(browser_fallback)。这是应对抖音风控的保命开关:当主页翻页被 API 限制、只抓到前 20 条左右时,工具会自动启动浏览器,用页面自己发出的请求继续翻页,弹出验证时你可以手动完成。需要保持headless: false才能在窗口里操作验证。另外要说明一个背景:2026 年 8、9 月起抖音的 Argus 风控陆续拦截了 CLI 直连的部分接口(点赞、收藏、单视频详情等),主页作品翻页也可能触发限制——此时浏览器兜底或改用桌面版(通过内置登录窗口代发请求,不受影响)是主要路径,详见 README.zh-CN.md 的限制说明。

语音转写(transcript)。开启后每条视频会被本地 ffmpeg 抽成单声道音频,再调用 OpenAI Transcriptions API(密钥走OPENAI_API_KEY环境变量),在视频旁生成.transcript.txt/.transcript.json。转写只对视频生效,图文不处理;适合做内容摘要或关键词检索。

完成推送(notifications)。下载跑完(无论成功或失败)可并发推送到 Bark、Telegram 或任意 Webhook,单个渠道失败不会阻塞主流程。批量任务耗时较长,有了推送就不用盯着终端。

卡住了?先查这三个常见卡点

只抓到 20 条左右就停了→ 翻页被风控限制。确认browser_fallback.enabled: trueheadless: false,浏览器弹出后手动过完验证,不要立刻关窗口;Playwright 未安装时兜底不会生效。

Cookie 失效、请求大量失败→ 重跑一次python -m tools.cookie_fetcher --config config.yml即可,通常每周检查一次就够了。

删了文件却没重新下载(或反之)→ 记住双重判重:只删数据库不删文件不会触发重下(文件名里的 ID 还在被扫到),只删文件不删数据库则会重下。要彻底重来,两边都清;要整库重建就同时删掉Downloaded/dy_downloader.db。顺带一提,进度刷屏是日志没静默,progress.quiet_logs: true(默认已开启)能解决。

下一步

跑通第一个任务之后,建议按这个顺序扩展:把number.post改成0做全量归档,再开increase定时增量;用start_time/end_time圈定时间范围;需要研究数据时打开评论采集(comments.enabled: true)。部署到服务器可直接用仓库自带的 Dockerfile,或加--serve以 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),仅供参考

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

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

立即咨询