抖音批量下载实战:3 条命令把博主全部作品去水印存到本地(附增量更新配置)
2026/9/16 18:21:44 网站建设 项目流程

抖音批量下载实战:3 条命令把博主全部作品去水印存到本地(附增量更新配置)

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

想系统保存某个抖音博主的视频,用 App 一条条存太慢。douyin-downloader 是个开源命令行的抖音批量下载工具:贴一个主页链接,它负责翻页、挑无水印源、并发下载,第二次运行时自动跳过已保存的内容。下面按快车道(3 行命令下单个视频)和慢车道(配置文件批量保存主页)两条线讲,两条线最后都落到同一套本地目录里。

先说结果:你会得到怎样的本地库

给它一个主页链接,Downloaded/下会按作者、按作品生成目录,命名是"日期_作品标题_作品ID":

Downloaded/作者名/post/2024-02-07_作品标题_aweme_id/ ├── ...mp4 # 无水印视频 ├── ..._cover.jpg # 封面,可选 ├── ..._music.mp3 # 原声,可选 └── ..._data.json # 元数据,可选

视频源会自动挑抖音返回档里码率最高的一档,拿到的是去水印的高清版本。打开json: true,每个作品还会带一份..._data.json,里面有发布时间、点赞、评论数、话题标签、作者和定位等字段,做竞品分析或数据样本时直接拿来用,不用二次整理。每个作品都会写进本地 SQLite 数据库,重跑时靠数据库记录和文件名双重对账去重,这就是"自动跳过已下载内容"的机制。

两个前提:Python 环境和一份有效 Cookie

环境速查,四条命令:

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

Python 3.8+ 即可,配置文件照 配置文件示例 抄一份再改。

Cookie 是抖音接口的通行证,最快的路子是自动获取脚本:

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

浏览器弹出后登录,回终端按回车,ttwid、odin_tt 等字段就写进配置文件的 cookies 段了(自动 Cookie 获取脚本)。以后过期,重跑这条命令即可,其余配置不用动。

快车道:3 行下载一个视频

只需要一条视频时,配置文件都不用打开:

python run.py -u "https://www.douyin.com/video/7604129988555574538" -t 8 -p ./Downloaded

-u追加下载链接(可传多次),-t并发数,-p输出目录;v.douyin.com短链和/note/图文也直接识别。这几个参数在慢车道同样有效,命令行会覆盖配置文件里的值。

仓库里还有内测中的 Douzy 桌面版,跑的是同一套后端。不想开终端时,粘贴链接到首页就能得到同样的下载结果:

慢车道:批量保存整个主页

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 50

python run.py -c config.yml就行。mode决定下哪个标签页:post是发布作品,like是喜欢页,mix是合集,music是原声;number限制各模式条数,0 表示不限。一次写多个 mode 会跨模式去重,同一个作品不会下两遍。

自己的账号收藏夹也能抓:链接带上?showTab=favorite_collection,mode 用collect(收藏作品)或collectmix(收藏合集)。注意这两个模式必须单独用,不能和 post、like 混在一起。

不想改文件时,快慢车道可以叠加:python run.py -c config.yml -u "链接",就是在现有配置基础上追加一条链接。

只存要的素材:时间筛选 + 增量更新

给慢车道加四行,它就从"下一次的下载器"变成"长期素材收集器":

start_time: "2025-01-01" end_time: "2025-06-30" increase: post: true

时间格式是YYYY-MM-DD,窗口外的作品直接跳过。increase: true打开增量模式(依赖database: true,默认就是开的),第二次跑只抓新发布的作品。挂个每周定时任务,新素材持续入库且不重复,老内容不用重下。

最值得调的三个参数:并发、重试、画质

  • thread:并发下载数,默认 5。程序自带速率限制(默认 2 请求/秒),并发堆太高并不会更快,家庭宽带 3~5 比较稳,服务器可以试 8。
  • retry_times:默认 3,失败按指数退避(1s、2s、5s)重试,网络抖动时能救回大部分请求。
  • video_quality:默认highest在转码档里挑最高档;改original会探测上传原片,体积可能大数倍,代价是每条作品多一次探测请求(超时 10s 退回转码档)。

兜底机制是browser_fallback:翻页被风控卡住时自动弹浏览器,等你人工过完验证码再继续,默认配置是开着的。

踩坑自救:最常见的三种卡住

只抓到 20 条作品:典型风控现象。确认browser_fallback.enabled: trueheadless: false,浏览器窗口弹出后手动完成验证,别急着关。

Cookie 失效:重跑上面的 Cookie 获取命令,其余配置不动。

想重下某作者的作品:记住去重规则——只删数据库记录不会触发重下(程序还会扫本地文件名里的作品 ID),只删文件才会。所以两条都要清:

rm -rf Downloaded/作者名/ sqlite3 dy_downloader.db "DELETE FROM aweme WHERE author_name = '作者名';"

收尾后查记录、管档案

随时查下载历史,一行命令:

sqlite3 dy_downloader.db "SELECT author_name, title, datetime(download_time,'unixepoch','localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"

Douzy 桌面端的任务中心更直观:每个批量任务显示成功失败数,失败项可以单独重试,也能一键跳进输出目录。

clone 下来,贴一个主页链接,跑一遍你就知道多省事。

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

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

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

立即咨询