news 2026/10/5 2:19:22

从单条链接到整页归档:douyin-downloader 抖音批量下载怎么搞,5 个步骤讲透

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从单条链接到整页归档:douyin-downloader 抖音批量下载怎么搞,5 个步骤讲透

从单条链接到整页归档:douyin-downloader 抖音批量下载怎么搞,5 个步骤讲透

【免费下载链接】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 是一个命令行抖音批量下载工具,无水印视频、图文、合集、原声音乐都能整批收进来,适合只会复制粘贴终端命令的新手。照着下面的顺序走,今晚你就能在./Downloaded/里看到第一个无水印文件。

适不适合装:10 秒自查一下

你关心的实际情况
适合谁想按博主主页整页存档的人;偶尔救急下 1 条无水印视频/图文的也够用
默认替你做了啥自动挑无水印源并选最高码率档;SQLite 数据库加本地文件双重去重;5 线程、限速 2 请求/秒、失败重试 3 次
代价是什么必须有一份有效的抖音 Cookie;单条接口目前会被风控拦截,被拦时靠浏览器兜底、需要你手动过验证

如果你只是偶尔存一条、又不想配环境,可以直接用基于同一套后端的 Douzy 桌面版,粘链接即可下载(下图为桌面端的抖音下载选项页,可选作品/喜欢/合集/音乐)。

环境怎么搭起来,先下一条试试

需要 Python 3.9+,Windows、macOS、Linux 都支持。先把代码和依赖装好:

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

三行跑完、不再报ModuleNotFoundError,依赖就算齐了。接着装浏览器组件,Cookie 自动获取和风控兜底都依赖它:

pip install playwright python -m playwright install chromium

然后复制一份配置模板,启动项目自带的取凭证脚本:

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

脚本会弹出一个真实浏览器,你扫码登录抖音后回到终端按 Enter,Cookie 就被写进config.yml。成功的信号:配置里cookies段不再显示YOUR_xxx占位值。Cookie 本质上是浏览器发给抖音的登录票据,工具拿它冒充你向平台要数据。

最小验证:把config.yml里的link换成任意一条作品链接(短链也行),再运行主程序:

link: - https://www.douyin.com/video/xxx
python run.py -c config.yml

收尾时看到汇总里"成功 1",且./Downloaded/下多出一个无水印 mp4,就说明整条链路通了。有一点先有预期:抖音接口风控会拦单条/合集/音乐这类请求,拦到后工具会自动打开浏览器让你手动过验证,别急着关窗口。

三种常见场景,各用哪条路

临时下 1~2 条:不碰配置文件

什么时候用:别人甩来一个链接,你只想存下来就走。-u参数直接在命令行追加链接,可重复传多条,v.douyin.com短链会自动解析成真实地址:

python run.py -u "https://v.douyin.com/xxx/" -c config.yml

一个关键提醒:-u只会往配置里的链接后追加,不会替换掉link字段已有的内容,两条都会跑。

博主主页整页存档:最常用的姿势

什么时候用:给某个博主建长期档案。mode设为post,number.post写 0 表示不限条数:

link: - https://www.douyin.com/user/xxx mode: - post number: post: 0
python run.py -c config.yml -t 2

为什么把-t压到 2:主页作品动辄上百条,并发压低能让翻页更不容易触发风控;带宽宽裕的机器用默认 5 也无妨。关键提醒:config.example.yml模板里number.post默认写的是 1,不改的话整页任务只会下 1 条。

收藏夹一次收齐

什么时候用:把当前 Cookie 所属账号收藏的内容批量搬回本地。link固定填user/self这个特殊地址,mode用collect:

link: - https://www.douyin.com/user/self?showTab=favorite_collection mode: - collect

关键提醒:collect/collectmix只能单独跑,和post、like混在同一份mode里会被直接报错拦下。

长期归档,哪些参数值得动

  • 增量与去重:database: true和increase.post: true默认都已开启。每条下过的作品记进dy_downloader.db,再跑任务自动跳过存量、只补新增。想强制重下某批作品,把increase.post改为false即可,无需清空数据库。
  • 并发与节奏:thread默认 5、rate_limit默认 2 请求/秒、retry_times默认 3 次指数退避。中断的文件会比对 Content-Length,坏文件自动清理后重下。
  • 时间窗口:start_time/end_time填YYYY-MM-DD,例如只留某月发布的作品,结束日期当天也算在内。
  • 附带产物:music、cover、avatar、json默认全false,因为全开会让文件和请求多出几倍;确认要原声时再把music改成true。
  • 画质:video_quality默认highest(最高转码档),改original会去探测上传原片、失败自动回退,也可以直接指定1080p这类分辨率。
  • 归档结构:folderstyle: true时目录长这样:
Downloaded/ └── 博主昵称/ └── post/ └── 2026-09-14_作品标题_作品ID/ └── 作品.mp4

下载完成通知(Bark/Telegram/Webhook)默认关闭,需要推送时再去notifications段打开。

卡住了,先对号入座

问:提示登录态失效、要求登录?Cookie 有效期通常只有几天。重跑python -m tools.cookie_fetcher --config config.yml,扫码刷新即可。

问:主页只抓到 20 条左右就停了?风控拦住了 API 翻页。确认browser_fallback.enabled: true、headless: false,浏览器弹窗出现后手动完成验证,窗口先别关。

问:下载中断、速度突然掉下来?多半是网络波动或并发偏高。把thread降到 2~3,未完成的文件会按retry_times自动重试。

问:老作品为什么不会被重下?数据库加本地文件的双重去重在起作用。把increase.post设为false强制重下;只想要某一条时,删掉本地文件并清掉dy_downloader.db里对应记录。

问:目录里找不到 mp3 原声?music开关默认关着,配置里改成true再跑一次就有了。

Cookie 等同于你的登录凭证,只应留在本地配置里,带 Cookie 的config.yml别随手外发;下载下来的内容建议只做个人存档和研究,别用于二次商用或搬运。想进一步弄懂默认行为,先读 config/default_config.py 里每个开关的取值和注释,再顺着 core/ 目录看下载与翻页逻辑,基本就能覆盖后续所有调参问题。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/5 2:18:51

VSCode搭建STM32开发环境:GCC+OpenOCD全流程指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/5 2:16:27

第六章 TypeScript MCP Server:独立综合项目与能力验收

系列文章目录 第一章 TypeScript MCP Server:从零到一(已更新)第二章 TypeScript MCP Server:提取业务逻辑与建立自动化测试(已更新)第三章 TypeScript MCP Server:分析 package.json 与处理文…

作者头像 李华
网站建设 2026/10/5 2:16:23

WeMod-Patcher:5 分钟解除 WeMod 2 小时限制,无需订阅付费

WeMod-Patcher:5 分钟解除 WeMod 2 小时限制,无需订阅付费 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer WeMod 免费版每天…

作者头像 李华