抖音批量下载 300 条无水印视频:手动要一整天,这个工具只要一份配置
2026/9/16 11:53:24 网站建设 项目流程

抖音批量下载 300 条无水印视频:手动要一整天,这个工具只要一份配置

【免费下载链接】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 做的事情其实很直接:给它一个主页链接和一份 YAML 配置,无水印视频、封面、原声、元数据会按目录结构批量落到本地,已下载过的作品自动跳过。对个人学习整理、创作者给自己作品做备份这类场景来说,它就是把重复劳动外包给了脚本。

一句话认识 douyin-downloader

一句话定位:基于 Python 的命令行下载工具,核心能力是拿到无水印的原始视频源(自动选择无水印源,而不是事后裁掉水印),配上文件组织、数据库去重和自动重试。下面是它实际能处理的链接类型:

内容类型链接形态能拿到的内容
单个视频/video/{aweme_id}v.douyin.com短链无水印视频,可附加封面、原声、JSON 元数据
单个图文/note/{note_id}/gallery/{note_id}图集文件与元数据
单个合集/collection/{mix_id}/mix/{mix_id}合集内全部作品
单个音乐/music/{music_id}优先原声文件,缺失时回退到该音乐下的首条作品
用户主页批量/user/{sec_uid}mode指定抓取发布作品、喜欢作品、合集或音乐
直播录制(实验性)live.douyin.com/{room_id}录制流与直播间元数据

关于直播那行要提前说明现状:官方标注它是实验性能力,webcast 直播接口并未覆盖所有场景;录出的 FLV 可以直接播放,HLS 源则只保存 playlist 文件,需要 ffmpeg 后处理。日常使用建议把它当尝鲜功能,而非主力方案。

安装依赖与获取抖音 Cookie 的两种方式

环境要求不高:Python 3.8+,Windows、macOS、Linux 都能跑。装依赖分两步:

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

如果打算用浏览器自动获取 Cookie、或需要翻页受限时自动兜底,再补装浏览器组件:

pip install playwright python -m playwright install chromium

然后复制一份配置模板作为起点:config.example.yml 复制为config.yml即可。

Cookie 是访问抖音 API 的通行证,有两种拿法。推荐第一种:tools/cookie_fetcher.py会直接拉起浏览器,你只管扫码登录,登录完成回终端按 Enter,关键 Cookie 字段自动写进配置文件:

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

第二种是手动复制:在浏览器里登录抖音后,从开发者工具把 Cookie 字符串复制出来,逐个填进config.ymlcookies段(config.example.yml 里有全部字段占位)。手动方式灵活但容易漏字段,自动方式基本零出错,能走自动就别走手动。

抖音主页作品批量保存步骤:给链接、改配置、运行

打开config.yml,批量任务只需要动几处:

link: - https://www.douyin.com/user/MS4wLjABxxxx path: ./Downloaded/ mode: - post number: post: 0 music: true cover: true json: true thread: 5 database: true

link放主页链接,path定落盘目录,mode选内容模式(post为发布作品),number里对应模式的数值控制条数,0表示不设上限。music/cover/json三个开关决定要不要顺带保存原声、封面和元数据。配置完成后运行:

python run.py -c config.yml

程序会先拉取作品列表,再按并发下载,终端里有进度条。跑完后打开path指向的目录,结构长这样:

Downloaded/ └── 作者名/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── xxx.mp4 ├── xxx_cover.jpg ├── xxx_music.mp3 ├── xxx_data.json └── xxx_avatar.jpg

作者一层、模式一层(post/like/mix/music)、作品一层,作品目录名里带日期和 aweme_id,不会重名覆盖,翻起来很顺手。

顺手补一句验收标准:database: true时本地会生成dy_downloader.db,程序靠"数据库记录 + 本地文件"双重判断哪些作品已下载,同一份配置重复跑不会重复下载。

时间过滤、增量更新与并发数:什么需求对应什么开关

进阶用法其实就集中在几个开关上,按需求对号入座即可:

  • 只想备份新作品increase对应模式设为true(依赖database: true),配合定时任务就是"每天只抓新增";
  • 只想要某个时间段start_time/end_timeYYYY-MM-DD,抓取范围被圈死在窗口内;
  • 同一主页既抓发布又抓喜欢mode里同时列postlikenumber各自控制条数,跨模式遇到同一个作品自动去重;
  • 调节速度thread是并发数,默认 5,网络稳可以上调,不稳就调低;内置速率限制默认 2 请求/秒,retry_times控制重试次数,偶发超时和频率限制由指数退避(1s、2s、5s)自动消化,一般不用人工干预。

遇到这些情况怎么办

  • 只抓到 20 条就停了:这是翻页风控的典型表现。确认browser_fallback.enabled: trueheadless: false,浏览器弹窗出现后手动完成验证、别急着关窗口(兜底目前只对post做了完整验证,like/mix/music主要靠 API 正常分页)。
  • 提示 Cookie 失效:重新执行python -m tools.cookie_fetcher --config config.yml即可,不用改别的。
  • 某条作品想强制重下:去重是"数据库 + 本地文件名"双重判断,只删一边都不够,需要同时删掉对应作品目录和数据库里该条记录。
  • 进度条刷屏干扰阅读:确认progress.quiet_logs: true,调试时再临时加-v

几个高频疑问在这里一并给结论:下载源本身就是无水印源,成品没有平台水印;必须提供有效 Cookie,也就是要用自己的账号登录一次;速度主要看网络和thread取值,5 并发下 100 条视频大致十几分钟到半小时;批量数量没有硬性上限,但建议分批执行,别一次把量堆到最大。

功能边界与合规使用

把边界说清楚,免得期望落空:

  1. 直播录制仍是实验性功能,接口未覆盖全部场景,HLS 源需 ffmpeg 后处理,别把它写进关键流程。
  2. 收藏相关模式(collect/collectmix)只作用于当前 Cookie 对应的账号,且必须单独使用、不能和post/like/mix/music混用,也不支持增量截断。
  3. 下载内容仅限个人学习与个人数据管理,商业用途和二次传播都涉及版权,动手前想清楚用途。
  4. 控制节奏:并发保持温和,避免短时间大量抓取;不下载、不传播他人隐私内容;接口策略或平台规则变化导致功能失效,属于这类工具的正常技术风险。

一句话总结:把链接和配置交给 douyin-downloader,把时间留给内容本身。

  1. 克隆仓库,pip install -r requirements.txt装好依赖;
  2. 运行python -m tools.cookie_fetcher --config config.yml拿 Cookie;
  3. 填好config.ymlpython run.py -c config.yml,验收Downloaded/目录结构。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询