告别手工逐个保存:抖音批量下载工具 douyin-downloader 从入门到精通

发布时间:2026/8/19 1:29:28
告别手工逐个保存:抖音批量下载工具 douyin-downloader 从入门到精通 告别手工逐个保存抖音批量下载工具 douyin-downloader 从入门到精通【免费下载链接】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 正是为解决这类痛点而生的抖音批量下载工具它支持单条视频、图集、合集、音乐乃至整个作者主页的一键批量保存默认去水印、带进度展示、失败自动重试并用 SQLite 数据库做智能去重帮你把喜欢的抖音内容系统性地搬回本地。这是桌面版 Douzy 的下载主界面左边贴链接右边勾选要下载的内容类型几乎不需要学习成本。 一个深夜的真实场景周五晚上 11 点我刷到一个很喜欢的旅行博主点进主页一看作品 400 多个图集、视频、背景音乐混在一起时间跨度三年。想全部保存手动逐个下载意味着复制 400 次链接、点 400 次保存——光是想想就劝退。更何况抖音原生下载带水印、画质也被压缩不是收藏是将就。后来我在开源社区找到了 douyin-downloader。从复制一条链接到跑通整个主页只花了不到十分钟。这篇文章就把我的完整上手过程、踩过的坑和进阶玩法整理给你。❓ 先回答五个高频疑问它能下载什么内容视频、图文图集、合集、音乐原声都能下还能下载作者主页的作品、公开喜欢列表、合集列表以及当前登录账号的收藏夹。真的能去掉水印吗能。工具会自动挑选无水印的视频源并基于码率信息选择最高清的那一路下载质量通常比抖音 App 原生的还好。会不会重复下载、浪费硬盘不会。每次下载都会写入本地 SQLite 数据库配合文件系统双重检查重复内容自动跳过开启增量模式后第二次运行只抓新增作品。API 被风控怎么办内置浏览器兜底机制。接口翻页受限时它会自动拉起浏览器模拟操作必要时你手动过一下验证码即可继续。上手难不难全程只需一个 YAML 配置文件 一条命令。下面手把手带你走一遍。️ 三步搭好运行环境先确认机器上有 Python 3.8 或更高版本Windows / macOS / Linux 都行然后执行git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader/douyin-downloader pip install -r requirements.txt如果想用到浏览器兜底和自动获取 Cookie 这两个能力再补两步pip install playwright python -m playwright install chromium接着复制一份配置文件并运行内置工具自动登录拿 Cookiecp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml命令会打开浏览器引导你登录抖音登录完成后回到终端按回车Cookie 会自动写进配置——整个认证过程不出本地不经过任何第三方服务器。小提示如果网络环境下载依赖慢给 pip 加上-i https://pypi.tuna.tsinghua.edu.cn/simple用国内镜像会快很多。⚙️ 第一次运行从最小配置开始打开config.yml最省心的最小配置长这样link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ mode: - post thread: 5 retry_times: 3 database: true然后一条命令开跑python run.py -c config.yml等几秒终端里就会出现进度条视频、封面、音乐和 JSON 元数据会一起落盘。为什么database: true建议一开始就开因为它记下了哪些内容已经下载过后面批量下载时才不会重复劳动。单条视频验证成功后把链接换成下面任意一种即可解锁更多格式想下载的内容链接写法图文图集https://www.douyin.com/note/作品ID一个合集https://www.douyin.com/collection/合集ID一首音乐原声https://www.douyin.com/music/音乐ID短链接https://v.douyin.com/xxxx自动解析 核心玩法整个作者主页批量搬走回到开头那个 400 条作品的场景。把配置文件改成作者主页链接选择要下载的内容类型link: - https://www.douyin.com/user/作者的sec_uid mode: - post # 博主发布的作品 - like # 博主公开的喜欢列表 - mix # 博主创建的合集 - music # 博主使用的音乐 number: post: 0 # 0 表示全量下载也可以写具体数字限量运行后你会看到类似下图的批量进度界面每个文件的状态、耗时、保存路径一目了然下载完成后文件会按作者 → 内容类型 → 单个作品的层级自动归档。默认每个作品一个独立文件夹视频、封面、音乐、元数据各归其位Downloaded/ └── 作者昵称/ ├── post/ │ └── 2024-06-15_作品标题_作品ID/ │ ├── 视频.mp4 │ ├── 封面.jpg │ ├── 音乐.mp3 │ └── 元数据.json ├── like/ └── mix/ 三个真实使用场景场景一普通用户的个人收藏整理追的博主更新太勤想单独整理自己收藏夹里的内容用当前登录账号的收藏夹链接配合collect模式即可link: - https://www.douyin.com/user/self?showTabfavorite_collection mode: - collect number: collect: 0为什么这样设置收藏夹本质上是我自己挑过的内容质量密度最高。把这部分单独归档比把整个信息流都下载下来要省空间、也更精准。场景二内容团队的素材库建设团队做短视频运营需要持续收集竞品的优质选题。关键配置是增量 稳定的目录命名 完成通知increase: post: true author_dir: nickname_uid filename_template: {date}_{title}_{id} notifications: enabled: true providers: - type: webhook url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyxxx为什么这样设置增量模式让每天定时跑一遍只拉新内容nickname_uid命名避免博主改名后目录分裂下载完成后推送企业微信运营同学不用盯着终端。场景三内容研究者的数据采集做内容分析的人除了视频本身往往还想要评论数据和热搜趋势comments: enabled: true include_replies: false max_comments: 500配套的命令行能力同样实用# 拉取抖音热搜榜前 30 条导出 JSONL python run.py --hot-board 30 -p ./Downloaded # 按关键词搜索作品导出 JSONL python run.py --search 露营 --search-max 100 -p ./Downloaded为什么这样设置评论和热搜都是结构化数据落成 JSONL 之后可以直接喂给数据分析脚本为选题判断提供真实依据。 进阶技巧把工具用到极致只下载新作品追更博主时让程序记住历史记录第二次起只抓新增increase: post: true mix: true database: true # 增量依赖数据库记录接口被限流让浏览器顶上翻页受限时程序会启动浏览器兜底手动过一下验证码就能继续browser_fallback: enabled: true headless: false max_scrolls: 240 wait_timeout_seconds: 600注意浏览器兜底目前对post作品模式验证最充分其余模式主要还是靠 API 正常分页。顺手录个直播遇到喜欢的主播开播配置好直播参数即可录制link: - https://live.douyin.com/房间号 live: max_duration_seconds: 0 # 0 录到主播下播 idle_timeout_seconds: 30主播下播或网络中断时已经录到的字节会被保留不会前功尽弃。录完的 FLV 保存在Downloaded/作者名/live/下开成 API 服务接入自动化流程安装可选依赖后工具就变成了一个本地下载服务pip install fastapi uvicorn python run.py --serve --serve-port 8000调用POST /api/v1/download提交链接再用GET /api/v1/jobs/{job_id}轮询状态配合定时任务就能实现无人值守的内容抓取。⚠️ 避坑锦囊常见问题一次说清只抓到了 20 条作品这是翻页风控的典型现象。确认browser_fallback.enabled: true且headless: false浏览器弹出验证后手动完成别急着关窗口。Cookie 失效、报登录错误重新执行一次python -m tools.cookie_fetcher --config config.yml即可通常一分钟内搞定。想重新下载某条内容程序靠数据库记录 本地文件双重判断去重只删一边不会生效两边要一起清理# 删本地文件文件名中含作品ID # 再删数据库记录 sqlite3 dy_downloader.db DELETE FROM aweme WHERE aweme_id 作品ID;终端日志刷屏保持progress.quiet_logs: true调试时再临时加--show-warnings或-v打开详细日志。 几个提升体验的小技巧控制并发默认 5 线程已经很快网络不稳时降到thread: 3成功率反而更高。按时间过滤只想下载某段时间的内容设置start_time和end_time既省流量又省磁盘。代理接入有代理的话配置proxy: http://127.0.0.1:7890API 请求和媒体下载都会走代理。命名模板文件名和子目录名都支持{id}{title}{author}{date}等变量建议模板里保留{id}防止重名覆盖。桌面版里也能可视化配置 写在最后回到开头那个深夜现在我每周只花十分钟跑一次定时任务那位旅行博主的 400 条作品已经安静地躺在我的硬盘里按日期整整齐齐排好。想回看哪期几秒钟就能找到。douyin-downloader 适合三类人想整理自己收藏的普通用户、需要搭建素材库的内容团队、以及做内容研究的数据爱好者。建议你先从单条视频跑通再尝试作者主页批量下载最后按需解锁增量、直播、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),仅供参考