抖音批量下载三步跑通: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 是一个开源免费的抖音批量下载工具,覆盖无水印视频、图文、合集与原声音乐下载。粘贴博主主页链接即可批量归档作品,内置去重、重试与进度展示。本文带你从零跑通第一次抖音批量下载。
🧭 抖音批量下载能帮你做什么
| 功能 | 你得到的好处 |
|---|---|
| 无水印下载 | 自动选无水印源和最高码率,本地直接可播 |
| 主页批量下载 | 贴一个主页链接,批量存下作品 |
| 多模式 | 作品、喜欢、合集、原声四类内容各归其位 |
| SQLite 去重 + 增量 | 重跑同一博主,只补新增作品 |
| 时间过滤 | 只下指定日期区间发布的内容 |
| 直播录制 | 直播流随播随存,中断也不丢已录数据 |
| 评论采集 | 每条评论整理成结构化 JSON |
| 浏览器兜底 | 翻页受限时自动开浏览器,人工过验证 |
以上是全部能力,下面按你实际会碰到的任务来讲,第一个任务 5 分钟内跑完。
图:Douzy 桌面版抖音下载工作台,粘贴抖音链接后自动识别类型,可直接发起无水印下载
🚀 从 0 到跑通:抖音批量下载最小路径
这一步:拿到项目并装好依赖(需要 Python 3.8+,Windows/macOS/Linux 均可)。
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,二选一:
方式A(推荐,自动获取):
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml运行后浏览器会弹出,完成抖音扫码登录,回终端按 Enter,Cookie 自动写入配置。
方式B(手动):从浏览器开发者工具复制ttwid、odin_tt等项,填进 config.yml 的cookies部分。
这一步:填链接并运行。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 5 # 其余配置保持不变python run.py -c config.yml跑通后你会看到:终端出现进度条,结束后Downloaded/下多了以作者名命名的目录,里面是无水印视频、封面和元数据 JSON。
📋 典型任务清单
以下 4 个任务是使用频率最高的,只贴需要改的配置,其余保持不变。
贴一条视频链接先测试
先验证环境是否正常,把 link 换成任意视频页即可。
link: - https://www.douyin.com/video/7604129988555574538运行python run.py -c config.yml。结果:目录里生成一个作品文件夹,含视频、封面和元数据。
改 2 行配置无水印批量下载博主作品
保存某位博主的全部作品,number设为 0 表示不限数量。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx number: post: 0 # 0 表示全部作品结果:作品按发布时间依次落盘,每个作品一个独立目录。桌面版还能先同步关注博主并标记新增作品,批量下载更有针对性:
图:关注管理页,同步关注列表后可按"新作品"筛选,方便批量下载博主最新内容
开启增量下载只补新作品
每天重跑同一位博主时,加上两行开关即可。
increase: post: true database: true结果:已下过的作品自动跳过,只下载新增内容,不浪费流量和时间。
按时间过滤只下最近内容
如果只需要某段时间发布的作品,加两行日期。
start_time: "2026-08-01" end_time: "2026-08-31"结果:只有区间内发布的作品进入下载队列。
进阶工具箱
低频功能按需启用,一行命令或一段配置即可:
- 直播录制:
link指向直播间链接(如live.douyin.com/{room_id}),live.max_duration_seconds: 0表示录到主播下播 - 收藏下载:
mode用collect或collectmix(需单独使用),桌面版可在图形界面一键下载整个收藏合集 - 评论采集:
comments.enabled: true,媒体文件旁生成*_comments.json - 热搜与搜索:
python run.py --hot-board 30 -p ./Downloaded或python run.py --search "关键词" --search-max 100 - 视频转写:
transcript.enabled: true并设置OPENAI_API_KEY,生成 txt/json 转写 - 完成通知:
notifications.providers配置 Bark / Telegram / Webhook - API 服务:
python run.py --serve --serve-port 8000,用 HTTP 提交下载任务 - Docker 部署:
docker build -t douyin-downloader .,适合服务器环境
图:收藏与喜欢页,同步账号收藏合集后可一键批量下载整个合集
🛠️ 遇到问题先看这里
只抓到 20 条作品原因:翻页触发了风控。解法:开启浏览器兜底,弹窗出现后手动完成验证,别急着关窗口。
browser_fallback: enabled: true headless: false报 403 或提示未登录原因:Cookie 过期,有效期通常 7-15 天。解法:重跑自动获取命令。
python -m tools.cookie_fetcher --config config.yml进度条刷屏重复原因:进度阶段的日志未静默。解法:配置里加progress.quiet_logs: true。
想重新下载某个已下过的作品原因:数据库加本地文件双重去重把它挡了。解法:删掉本地对应目录,再删数据库记录。
sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"📁 文件去哪了,数据怎么管
默认folderstyle: true时,输出结构如下:
Downloaded/ └── 作者名/ ├── post/ │ └── 2026-08-24_作品标题_aweme_id/ │ ├── xxx.mp4 # 无水印视频 │ ├── xxx_cover.jpg # 封面 │ ├── xxx_music.mp3 # 原声音乐 │ └── xxx_data.json # 元数据 ├── like/ └── mix/命名规则:外层是按作者昵称分的目录,再按模式(post、like、mix 等)分小目录;每个作品一个子目录,文件名默认由{date}_{title}_{id}拼成,即发布日期 + 标题 + 作品 ID。想改规则就改filename_template和folder_template。
所有下载记录都写进了 SQLite 数据库,常用的一条查询:
sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name, datetime(download_time, 'unixepoch', 'localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"图:桌面版任务中心,每个抖音下载任务的状态和作品数一目了然,失败项可一键重试
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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考