news 2026/9/15 20:20:08

抖音无水印视频与直播批量录制: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 提供三个开箱即用的动作:粘贴单条视频链接,保存无水印原片;粘贴创作者主页链接,整页作品批量归档进按日期组织的目录;粘贴直播间链接,开始实时录制,主播下播后文件保留、可离线回看。

它把定位放在实用二字上:单条作品、图文、合集、音乐四类链接都能处理,直播录制、评论采集、热搜榜导出、关键词搜索、REST 服务一并覆盖。个人存素材、运营盯竞品、课题采数据都用得上,会写几行 YAML 就能跑起来。

能力一览:六项核心能力与边界

  • 无水印下载:自动选择无水印源与最高可用码率,1080P 原画质可以保留;上限取决于原片上传质量。
  • 多模式批量下载:覆盖作品 post、点赞 like、合集 mix、音乐 music 四种模式,单条链接与主页整页抓取都行;当前登录账号的收藏夹另可用 collect、collectmix 归档,这两个模式必须单独使用,不能与上面四种混用。
  • 抖音直播录制:FULL_HD1、SD1、SD2 对应 1080P、720P、480P 三档清晰度;FLV 文件可直接播放,HLS 源只保存播放列表,需 ffmpeg 后处理;主播下播或中断时已录部分保留。
  • 去重与增量:SQLite 数据库与本地文件双重去重,同一作品重复执行会被跳过;打开 increase 开关后只拉新发布的内容。
  • 评论与热榜采集:按作品抓评论,可选包含二级回复,输出 JSON;--hot-board 导出热搜榜,--search 导出关键词搜索结果,两者均落盘为 JSONL。
  • REST API 服务:用 --serve 启动(可选依赖 fastapi + uvicorn),下载任务通过接口提交与查询,适配自动化流水线。

快速上手:三分钟跑通首次无水印下载

第一步 douyin-downloader 安装与环境准备。前置条件是 Python 3.8 及以上,依赖一条命令装完:

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

第二步 抖音 Cookie 配置。跑内置的自动获取脚本:浏览器会打开抖音登录页,登录完成后回到终端按回车,Cookie 就写进配置文件:

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

脚本依赖 Playwright,首次使用先装好,一次性动作:

pip install playwright python -m playwright install chromium

第三步 贴链接开跑。config.yml 里只留三个键:

link: - https://www.douyin.com/video/7341234567890123456 path: ./Downloaded/ mode: [post]

运行python run.py -c config.yml,结束后无水印视频落在 path 指定的目录。number.post 控制条数,0 表示全量抓取;想省事的话,桌面客户端的链接工作台也可以直接粘贴开下:

典型工作流:批量归档创作者主页与直播录制

竞品周报。运营侧的固定动作是盯住一批竞品主页的最新作品。把这些链接写进 link,mode 设为 post 和 like,作品与点赞内容一次抓齐:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: [post, like] increase: { post: true }

每周第二次执行只取新增内容,形成增量档案。产物是按作者与日期组织的目录树,例如 作者名/post/2024-01-01_作品标题_aweme_id/,每件作品带元数据 JSON,封面与背景音乐开关按需打开。竞品清单同步后,桌面版的关注管理里可以筛选出新作品并一键下载:

嘉宾直播归档。把 live.douyin.com 房间链接写进 link 就开始录制,FULL_HD1(1080P)、SD1(720P)、SD2(480P)三档按存储预算挑。FLV 文件录完即可播放;HLS 源保留播放列表,需 ffmpeg 后处理;主播下播或网络中断时,已录部分保留,离线回看没问题:

douyin-downloader 抖音直播录制清晰度选择界面

自己的收藏夹归档。主页链接填 /user/self?showTab=favorite_collection,mode 设为 collect 或 collectmix。这两个模式只支持当前登录 Cookie 对应的账号,且必须单独使用。

不管直播录制还是批量下载,任务中心里每个任务的状态、成功数与可重试的失败项都能直接看到:

进阶调优:线程、命名与通知推送

并发、命名、通知可以在一份配置里一起收掉:

thread: 8 # 按带宽调,建议 4-16 proxy: "" # 需要代理时填,如 http://127.0.0.1:7890 folderstyle: true # 按作品建子目录 notifications: enabled: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY

线程数按带宽对号入座:50Mbps 配 4 到 6 线程,100Mbps 配 8 到 12,200Mbps 以上配 12 到 16。folderstyle 打开后,文件按作者、模式、作品三层组织,post、like、mix、music 各占一个子目录;命名模板默认是日期_标题_作品编号的组合,也可以改成自定义格式。notifications 支持 bark、telegram、webhook 三个通道,并发推送,单通道失败不阻塞主流程;on_failure 打开后失败也会提醒。

排错速查:高频问题直接给答案

只抓到 20 条就停:典型的翻页风控。把 browser_fallback 的 enabled: true 与 headless: false 打开,浏览器窗口弹出后手动完成验证再关;兜底目前只在 post 模式完整验证。

Cookie 失效请求报错:重新执行python -m tools.cookie_fetcher --config config.yml,把新 Cookie 写回配置即可。

下载速度慢:先查 thread 并发设置与 proxy 字段,代理格式例如 http://127.0.0.1:7890;线路拥塞时先把线程数调下来再谈提速。

怎么查下载历史:记录在本地 dy_downloader.db 数据库里,用 sqlite3 直接查:

sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;"

某条作品需要重新下载:重新下载要同时清理本地文件与数据库记录,删掉含该 aweme_id 的目录,再删掉数据库对应行;程序靠两者双重判断是否跳过。

代码导读:四个文件看核心结构

  • auth/cookie_manager.py:负责 Cookie 解析与会话管理,自动与手动两种获取方式都从这里进。
  • core/user_modes/:每种主页批量模式对应一个独立策略类,post、like、mix、music 各占一个文件。
  • core/downloader_base.py:BaseDownloader 基类,并发下载、失败重试、断点续传都在这层。
  • storage/file_manager.py:管文件命名、目录创建与去重检查,按配置的模板组织落盘文件。

douyin-downloader 把无水印视频、批量归档、直播录制、评论采集压缩成几行命令和一份 YAML。按快速上手的三步先跑通,再对照排错速查处理翻车场景。项目开源且持续迭代,发现风控策略变化或想补的场景,欢迎参与项目讨论并提建议。

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

Zemax光学设计全流程:从需求到公差分析实战指南

接到一个镜头设计任务,客户只有一句话:“要看得清。”焦距多少、口径多大、工作在哪个波段、像面用多大探测器,统统没提。这时候如果打开Zemax就开始堆镜片,那基本等于拿大炮打蚊子转圈,折腾到半夜也得不到能用的结果。…

作者头像 李华
网站建设 2026/9/15 20:15:00

Blender粒子系统实战指南:从发射器到毛发粒子的核心技巧

做了这么多年三维内容,我越来越觉得粒子系统是Blender里最被低估的功能之一。很多人一听“粒子效果”就联想到爆炸、烟火、魔法特效,觉得那是影视级项目才用得上的东西,实际上粒子系统在Blender里承担的工作远比你想的广泛:一片树…

作者头像 李华
网站建设 2026/9/15 20:14:39

TREK旅行日志:写一本带照片、地图和情绪标签的杂志式游记

TREK旅行日志:写一本带照片、地图和情绪标签的杂志式游记 【免费下载链接】TREK A self-hosted travel/trip planner with real-time collaboration, interactive maps, PWA support, SSO, budgets, packing lists, and more. 项目地址: https://gitcode.com/GitH…

作者头像 李华
网站建设 2026/9/15 20:14:23

React状态管理进阶:从useState到useReducer与全局状态方案

1. 从 useState 说起:它并不“简单”1.1 useState 的基本用法与心智模型先说一个我自己的经历。带团队那几年,每次面试候选人我都会问一个看起来特别基础的问题:“useState 返回的第二个数组元素,为什么叫 set 而不是叫 update&am…

作者头像 李华