news 2026/9/15 17:56:03

douyin-downloader 完整指南:批量下载抖音无水印视频与主页作品

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 去重与失败重试。它能完成"下完一个主页"这类可以反复执行的任务,而不只是保存眼前这一条。适用边界先说清楚:直播录制属于实验性功能;收藏夹采集模式(collect / collectmix)只对当前登录的账号生效,且必须单独配置,不能与 post、like、mix、music 混用。

前置检查:Python 环境与登录态

安装依赖

需要 Python 3.9 以上版本,依赖很少,装完即可运行:

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

看到 "Successfully installed" 字样就表示环境就绪。

获取登录态 Cookie

批量任务能不能稳定翻页,关键在 Cookie 这组凭据上。它是抖音用来识别请求身份与登录状态的字段,失效后请求会被限流,或者只返回很少的作品。

自动获取:先装 Playwright,再运行抓取工具。它会弹出一个浏览器窗口,你在窗口里登录抖音,回到终端按回车,Cookie 会直接写进配置文件的cookies块:

pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml

手动获取:在浏览器里登录抖音,从开发者工具复制 Cookie,粘贴到config.ymlcookies字段即可。

自动抓取与 Cookie 的管理逻辑都在 tools/cookie_fetcher.py 和 auth/ 里,想看实现可以直接翻源码。

最小可运行路径:从配置到下载完成

复制一份示例配置,只改几个字段:

cp config.example.yml config.yml

config.yml里最关键的是这几项:

link: - https://www.douyin.com/user/MS4wLjAB... path: ./Downloaded/ mode: - post # post 作品 / like 点赞 / mix 合集 / music 音乐 number: post: 0 # 0 表示全部,也可以写 50 只取前 50 条 thread: 5 database: true cookies: ttwid: YOUR_TTWID

link是主页链接,mode决定采集什么,number控制数量上限,thread是并发线程数。

运行入口是run.py

python run.py -c config.yml

运行后程序先给出作品总数,再按线程数逐条下载,进度条实时刷新,已经下过的作品直接标记跳过。结尾汇总成功、失败与跳过数量,失败项可以从日志里单独拎出来重跑。

下载完成后目录按Downloaded/作者名/post/日期_标题_aweme_id/组织,视频、封面、原声与 JSON 元数据都放在同一个作品文件夹里。只想留视频本体的话,把musiccover都设为 false,目录会干净很多。画质默认取最高转码档,想探测上传原片可以把video_quality改为original

常用增强:按任务改配置

多主页批量归档

把多个主页链接都写进link列表,一次运行遍历全部创作者:

link: - https://www.douyin.com/user/MS4wLjAB...A - https://www.douyin.com/user/MS4wLjAB...B number: post: 0

每个创作者各自一个目录,互不干扰。mode也可以同时列出postlikemixmusic,同一作品跨模式不会重复下载。

让新发布的作品自动补下

持续跟踪固定创作者的素材库,把增量开关打开:

increase: post: true database: true

跳过与否以磁盘上主文件是否存在为准,SQLite 数据库负责记录下载历史,方便回查进度。把这份配置挂进 crontab 定期执行,每次只会补下新发布的作品,旧文件保持不动。

获取直播间流并录制

link里填直播间地址即可触发录制:

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 表示录到主播下播

FLV 文件与*_room.json房间元数据会保存在Downloaded/{作者}/live/下;主播下播、断流或手动停止时,已录到的分片会合并保留。注意 HLS 源目前只保存播放列表,想要可播放文件需要再交给 ffmpeg 处理一次。

故障定位:现象—原因—处理

大量请求报错、提示未登录。最常见原因是 Cookie 过期。重新运行python -m tools.cookie_fetcher --config config.yml,或手动更新cookies块,再重跑任务。

批量任务只拉到 20 条左右就停了。这是翻页被风控截断的典型表现。确认browser_fallback.enabled为 true 且headless为 false,程序会弹出真实浏览器窗口,在窗口里手动完成验证后继续采集,验证期间别提前关窗。

批量任务频繁中断。多半是触发限流。把thread降到 3 左右,保持retry_times: 3自动重试;高峰时段并发请求更容易被拦,改到凌晨或清晨执行会更稳。

想让某个作品重新下载。需要同时清理本地文件和数据库记录:

rm -rf Downloaded/作者名/post/*_<aweme_id>/ sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"

只删文件会触发补下,只删数据库记录则会跳过,两者要一起处理。

延伸资料

  • 使用说明:README.md、README.zh-CN.md
  • 带注释的配置样例(字段含义以此为准):config.example.yml
  • 架构说明:PROJECT_SUMMARY.md
  • 核心下载器:core/
  • 配置加载逻辑:config/config_loader.py
  • 按时间范围提前停止的设计文档:docs/superpowers/specs/

【免费下载链接】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/9/15 17:54:14

DeepEval 怎么把 Qdrant 等向量数据库接入 RAG 评估流程?

DeepEval 怎么把 Qdrant 等向量数据库接入 RAG 评估流程&#xff1f; 【免费下载链接】deepeval The LLM Evaluation Framework 项目地址: https://gitcode.com/GitHub_Trending/de/deepeval 如果你的 RAG 系统用 Qdrant&#xff08;或 PGVector&#xff09;作为检索引擎…

作者头像 李华
网站建设 2026/9/15 17:53:51

豆包AI微信机器人接入实战:5分钟把微信机器人接上大模型

豆包AI微信机器人接入实战&#xff1a;5分钟把微信机器人接上大模型 【免费下载链接】wechat-bot &#x1f916; Multi-platform IM AI Agent for Telegram, WhatsApp, Lark, and WeChat. Connects ChatGPT / Claude / Kimi / DeepSeek / Ollama / Pi for auto-replies, commun…

作者头像 李华
网站建设 2026/9/15 17:53:30

Genesis刚体仿真确定性实战:从浮点误差到可复现控制

在研究机器人操作时&#xff0c;最糟糕的感觉是&#xff1a;模拟里同一个关节、同一个初始条件&#xff0c;把同样的策略换台机器重新跑一遍&#xff0c;结果完全不同。不是策略升级&#xff0c;是物理引擎本身在刚体仿真过程中出现了肉眼可见的漂移。那段时间我意识到&#xf…

作者头像 李华