📌 项目地址jiji262/douyin-downloader | ⭐ 11,302 颗星 | 🔧 Python | 📜 未标注

一个很实际的问题

抖音客户端不提供任何导出入口。收藏夹里的视频,作者删了就没了;创作者想备份自己几年攒下的作品,也没有官方办法。

jiji262/douyin-downloader 解决的就是这个问题。Python 写的,11302 个 Star,中文文档齐全(README.zh-CN.md)。

能下什么

按 URL 模式划分,README 列得很具体:

  • 单条视频:/video/{aweme_id}
  • 图集:/note/{note_id}/gallery/{note_id}
  • 合集:/collection/{mix_id}/mix/{mix_id}
  • 音乐:/music/{music_id},优先取直接音频,取不到时回退到首个相关作品
  • 短链:v.douyin.com 的分享链接直接粘贴就能解析
  • 主页批量:/user/{sec_uid},mode 支持 post(作品)、like(点赞)、mix、music 四种
  • 登录后的收藏夹:/user/self?showTab=favorite_collection,支持 collect 和 collectmix 两种模式

批量下载的核心就是主页链接加 mode 参数的组合。具体安装和参数说明看仓库中文文档,这里不搬运。

比“能下”更重要的事:下得对不对

这类工具的分化点不在功能列表,而在工程细节。我翻了一下,这个项目在几个环节做了处理:

无水印优先。 自动选无水印视频源,省掉下载后二次处理的步骤。

最高画质。video.bit_rate 码率阶梯里自动挑最高码率,实况照片(live-photo)走同样逻辑。

SQLite 去重。 批量下载时已下载的内容不会重复拉取。跑一个几千条视频的主页,中断后重跑,这一项能省大量流量。

重试 + 完整性校验。 失败自动重试,下载完校验文件完整性,避免半截文件混进归档。

浏览器回退。 接口方式失败时自动切换到浏览器方式继续,多一条退路。

两个容易被忽略的功能

直播录制。 live.douyin.com/{room_id},支持 FLV/HLS 流。断流时保留已录制的部分数据——直播推流随时可能中断,保留半场比直接报错务实得多。

评论抓取。 每个作品的评论(可选包含回复)存成 *_comments.json。做内容分析或想留存评论区互动的人会需要。

桌面版 Douzy:三平台打包

同一个后端之上还做了个桌面应用,叫 Douzy,覆盖三个平台:

  • 抖音:视频、图集、主页、合集下载,还能同步关注列表、收藏夹、合集和点赞内容
  • TikTok:公共视频、图文、主页,无需登录
  • YouTube:视频、Shorts、频道、播放列表,可配置只下视频、MP3 或字幕

桌面版有多链接队列、任务状态跟踪、失败重试、本地下载归档和筛选。目前是封闭测试,构建从 Releases 页面拿。

用之前想清楚的几件事

接口风险。 项目依赖抖音的非公开接口,接口一变功能就可能临时失效。用之前去 issue 区确认当前可用状态。

账号安全。 收藏夹和点赞下载需要自己账号的 cookie,把登录态交给一个第三方工具,值不值自己权衡。

磁盘空间。 直播录制和主页批量,文件量都不小。

版权。 备份自己内容没问题,下载他人作品二次传播,边界自己把握。


同类工具不少,但把单条下载、主页批量、合集、音乐、直播录制、评论抓取、去重机制装进一套流程,还附赠三平台桌面版的,我只见到这一个。

这篇文章对你有帮助吗?

发表回复