douyin-downloader:抖音批量下载3步跑通,4种高频用法
【免费下载链接】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 是开源的抖音批量下载工具,直接走接口拿无水印源,下载、去重、重试全自动化。3 条命令跑通后,视频、合集、整个主页都能批量存到本地。
它能干什么,比手动强在哪
录屏和解析站解决不了的问题,它用一条流水线解决:直接调用抖音接口获取无水印源,按码率自动挑选最高清档位,"数据库记录 + 本地文件"双重去重,失败按指数退避自动重试,翻页被风控时还能自动切到真实浏览器继续加载。整个过程不用你手动点网页。
| 方案 | 画质 | 批量能力 | 去重与重试 |
|---|---|---|---|
| 手动录屏 | 受屏幕限制,带控件 | 一次一条 | 无 |
| 在线解析站 | 中等 | 单条 | 无,链接易失效 |
| 浏览器插件 | 中等 | 有限 | 有限 |
| douyin-downloader | 无水印、自动挑最高码率 | 整主页/合集/音乐 | 双重去重 + 指数退避重试 |
从零到跑通:douyin-downloader 的完整链路
假设你刚装好 Python 3.8+,从克隆仓库到第一个文件落地,一共 5 个动作,约 2 分钟。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt这步干了啥:拉源码、装全部依赖
接下来准备配置和登录凭证。自动获取脚本会弹出一个浏览器,你扫码登录一次抖音,回到终端按回车,Cookie 就自动写进配置文件:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml这步干了啥:复制配置、浏览器登录拿 Cookie
如果想让"翻页风控时浏览器兜底"这个救命能力生效,再补装一个依赖:
pip install playwright python -m playwright install chromium这步干了啥:装浏览器,兜底与自动取 Cookie 的前提
打开config.yml,把第一处的link换成你要存的视频(改成主页链接也一样能跑):
link: - https://www.douyin.com/video/7604129988555574538这步干了啥:把配置里的链接改成要存的作品
最后启动:
python run.py -c config.yml这步干了啥:开始下载,终端显示实时进度
完成后文件落在Downloaded/目录,按"作者 → 作品类型 → 日期_标题"三层归档,视频、封面、音乐、JSON 元数据都在同一个文件夹里。
高频用法
场景一:备份某博主的全部主页作品
追更的博主哪天删号、删作品,你都没处哭。把主页链接填进去,数量设 0 就是不限:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 0 # 0 = 不限数量这步干了啥:遍历主页,全量下载发布作品
预期结果:视频和图文通吃,逐条落到该作者目录,翻页受限时浏览器自动兜底。
场景二:增量追更,只拉新内容
全量备份过一次后,第二次运行难道重下?不用,开启增量后它靠 SQLite 历史记录比对:
increase: post: true database: true这步干了啥:比对数据库,只下新作品
预期结果:再次运行只拉上次之后的新增作品,已有的直接跳过,追更成本几乎为零。
场景三:合集与音乐一键入库
想存一个系列合集,或某首原声下的所有作品,把两类链接直接丢进link:
link: - https://www.douyin.com/collection/7341234567890123456 - https://www.douyin.com/music/7341234567890123456这步干了啥:解析合集与音乐两类链接
预期结果:合集整包拉取;音乐优先下原声文件,缺失时自动回退到该音乐下的首条作品。
进阶能力速览
跑通主链路后,下面的能力都是改一处配置或加一条参数就生效,按需查仓库开启:
| 功能 | 关键配置 | 一句话说明 |
|---|---|---|
| 直播录制 | live.douyin.com/xxx链接 +live.* | 录 FLV,主播下播自动保留已录数据 |
| 评论采集 | comments.enabled: true | 每个作品旁生成评论 JSON |
| 热搜榜 / 搜索 | --hot-board 30/--search "关键词" | 结果导出 JSONL |
| REST API | python run.py --serve | 提交 URL 异步排队下载 |
| 完成通知 | notifications.* | Bark / Telegram / Webhook 推送 |
| 视频转写 | transcript.enabled: true | 调用 OpenAI 生成字幕文件 |
不想敲命令的话,项目还配套了内测中的 Douzy 桌面版,多链接队列、任务状态、失败重试全部可视化:
踩坑与 FAQ:douyin-downloader 常见疑问
Q:只能抓到 20 条作品?典型的翻页风控。确认browser_fallback.enabled: true且headless: false,装好 playwright 后让浏览器弹出来,手动过一下验证再关。
Q:Cookie 动不动就失效?别手抄,直接重跑python -m tools.cookie_fetcher --config config.yml,登录一次即恢复。
Q:想重新下载某个作品,总是被跳过?去重是"数据库记录 + 本地文件"双重检查,两边都得清:sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"再删掉对应的本地文件夹。
Q:收藏夹模式报"不支持"?collect/collectmix只能单独使用且仅限当前登录账号,想同时下作品和收藏就分两次运行。
下一步
下次刷到好视频,录屏和解析站都可以退役了。先把config.example.yml复制一份跑通首次下载,再挑"增量追更"或"合集入库"实战一次;进阶能力在 README.zh-CN.md 的功能表里按需用。请把它用在个人学习、研究或数据备份等合法场景,尊重创作者版权。
核心关键词: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),仅供参考