免费抖音批量下载工具: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,它会无水印批量下载视频、图集与音乐原声,并按「作者 / 模式 / 日期_标题」自动归档。这篇教程带你从零跑通第一次下载:5 个步骤装好环境,3 份照抄即用的配方,外加常见坑的处理方法,所有命令复制即用。
它替你干掉的重复活
douyin-downloader 是一个免费的、配置驱动的命令行下载工具,适合需要批量留存抖音素材的人:自媒体运营、内容整理者、音乐创作者。你只负责写一份配置文件,它负责挑无水印源、按规则归档、用 SQLite 记录历史、失败自动重试。被它替代的手工动作如下:
| 动作 | 手动方式 | 用它之后 |
|---|---|---|
| 存一条视频 | 复制链接、进网页、带水印保存、再裁剪 | 链接写进配置,一条命令落盘无水印文件 |
| 存几十个素材 | 重复上面动作几十遍 | 一个主页链接,默认 5 并发自动完成 |
| 整理文件 | 逐个重命名 | 自动建「作者/模式/日期_标题」目录,日期取作品发布时间 |
| 持续追更 | 每天翻主页找新作品 | increase: true增量模式,数据库+本地文件双重去重,已下载自动跳过 |
| 失败与风控 | 手动重试 | 默认重试 3 次(退避 1s/2s/5s),翻页受限时自动启动浏览器兜底 |
一句话:它把「手工保存 N 次」压缩成「配置一次、运行一次」。
5步上手:从克隆代码到看到下载产物
环境要求只有 Python 3.8+,Windows / macOS / Linux 都能跑。
- 获取代码并安装依赖
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt依赖很轻,requirements.txt 里核心是 aiohttp、rich、pyyaml 等几个库。如果你还想用浏览器兜底或自动获取 Cookie,再装一下:
pip install playwright python -m playwright install chromium- 写最小配置
cp config.example.yml config.yml打开 config.yml,把link换成你手边的第一条视频,其余保留必要字段即可:
link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ # 保存目录 mode: - post number: post: 0 # 0 表示不限制数量 thread: 5 # 并发数 retry_times: 3 # 失败重试次数 database: true # SQLite 历史与去重- 获取登录凭证(唯一需要手工的步骤)
python -m tools.cookie_fetcher --config config.yml浏览器会自动打开抖音登录页,登录一次后回到终端按 Enter,Cookie 就自动写进配置,长期可用。这个脚本就是 tools/cookie_fetcher.py,只负责开浏览器和回写。
- 运行第一次下载
python run.py -c config.yml屏幕上 Rich 进度条实时刷新,完成后输出成功数统计。不想改配置也能临时追加链接:python run.py -c config.yml -u "https://www.douyin.com/video/..." -t 8 -p ./Downloaded。
- 查看产物
Downloaded/ ├── download_manifest.jsonl └── 作者名/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── 2024-02-07_作品标题_aweme_id.mp4 ├── ..._cover.jpg ├── ..._music.mp3 └── ..._data.jsondownload_manifest.jsonl是下载清单,每行一条作品记录,含 ID、标题、标签和文件路径,方便程序化检索。文件名的日期是作品发布时间而非下载时间,按时间归档很省事。📦
它能做什么:能力清单与当前边界
| 功能 | 一句话说明 | 什么时候用 |
|---|---|---|
| 单条视频 / 图文 / 合集 / 音乐 | 直接给链接,v.douyin.com短链自动解析 | 只存一条作品 |
| 作者主页批量 | /user/{sec_uid}+mode: post/like/mix/music | 备份作者的发布作品、点赞、合集、原声 |
| 无水印 + 画质选择 | 自动选无水印源,video_quality可选原画 / 最高档 / 指定分辨率 | 原画质归档素材 |
| 直播录制 | live.douyin.com/{room_id}→ FLV,下播保留已录内容 | 留存直播回放(实验性功能) |
| 评论采集 | comments.enabled: true,可含二级回复,输出 JSON | 评论分析、建素材库 |
| 热搜 / 关键词搜索 | --hot-board 30/--search "猫咪"导出 JSONL | 快速导出数据快照 |
| 完成通知 | 下载完推送 Bark / Telegram / Webhook | 定时任务、人在外面要结果 |
| REST API 服务 | --serve,POST 一个 URL 提交任务 | 接入自己的采集系统 |
| 视频转写 | 调 OpenAI 生成 transcript txt/json(仅视频) | 内容检索、二次剪辑 |
| 增量下载 | increase: true,跳过已下载 | 长期维护的素材库 |
有两条边界要先知道:浏览器兜底目前只针对post模式完整验证,like/mix/music主要依赖 API 正常分页;collect/collectmix收藏夹模式只支持当前登录账号且必须单独使用,直播的 HLS 源只保存 playlist、需要 ffmpeg 后处理。
同一套后端还孵化了桌面版 Douzy(内测中),提供多链接队列、任务中心这类可视化管理界面:
3个照抄即用的配置:素材库、原声、直播存档
配方一:自媒体素材库(主页批量 + 增量更新)
适用人群:需要持续跟踪某个作者新作品的运营者。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 替换为作者主页 sec_uid mode: - post # 发布作品 - like # 顺手备份点赞 number: post: 0 # 0 = 不限数量 like: 0 increase: post: true # 增量:只下载新发布的 like: true database: true thread: 5注意点:第一次跑全量,之后每次只补新增,配合文末的 crontab 就能让素材库自动维护。
配方二:音乐原声收集
适用人群:需要采样、remix 素材的音乐制作人。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 音乐账号主页 mode: - music # 该账号的原声 music: true # 保存音频文件 cover: false json: true number: music: 0 path: ./音乐素材/注意点:原声文件优先保存,缺失时自动回退到该音乐下的首条作品,做采样足够用。
配方三:直播回放存档
适用人群:想完整留存某场直播的人。
link: - https://live.douyin.com/房间号 live: max_duration_seconds: 0 # 0 = 录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30注意点:FLV 保存在Downloaded/{作者}/live/下,附带直播间元数据快照;主播下播或断网时已录制的字节会保留。
参数调优、排错与下一步
| 参数 | 建议值 | 作用 |
|---|---|---|
thread | 3–5 | 并发数,太高容易触发风控 |
retry_times | 3 | 失败自动重试,退避 1s/2s/5s |
video_quality | original或highest | original会探测上传原片(每条多一次探测请求),highest只从码率阶梯里挑 |
start_time/end_time | YYYY-MM-DD | 按发布时间过滤 |
proxy | http://127.0.0.1:7890 | 网络环境需要时,为 API 与媒体下载走代理 |
progress.quiet_logs | true | 进度阶段静默日志,防止刷屏 |
只抓到 20 条左右作品就停了?典型的翻页风控。确认browser_fallback.enabled: true且headless: false,浏览器弹窗出现后手动完成验证,别急着关窗口。
提示登录失效?重跑一次python -m tools.cookie_fetcher --config config.yml,重新登录按回车即可,几十秒的事。
想重新下载某个作品?去重是「数据库记录 + 本地文件」双重检查。先删掉对应作品目录,再删数据库记录:sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<作品ID>';"。注意只删库不删文件不会触发重新下载。
没生成转写文件?按顺序检查:transcript.enabled是否为 true、下载的是否为视频(图文不转写)、OPENAI_API_KEY是否有效、response_formats是否包含 txt 或 json。
跑通第一条下载后,建议按这个顺序继续:
- 保留一条单视频:最小配置 +
python run.py -c config.yml,约 5 分钟完成全部设置 - 换成主页批量:
link改为主页地址并加mode,确认第一次全量跑通 - 打开增量与通知:
increase.*: true+notifications,之后不用盯着终端 - 加定时任务:Linux 写一条 crontab,
0 2 * * * cd /path/to/douyin-downloader && python run.py -c config.yml >> download.log 2>&1;Windows 用任务计划程序执行同样命令 - 更多字段查 config.example.yml 的完整注释,完整用法见 README.zh-CN.md
下载他人作品请遵守平台规则与版权约定,本工具仅适用于个人数据管理与学习研究。
【免费下载链接】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),仅供参考