抖音主页批量下载与去水印完整指南:一条链接跑完整个账号
【免费下载链接】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 是一个免费的抖音批量下载工具:粘贴一条创作者主页链接,该账号的作品会按配置自动翻页抓全,默认走无水印源并在多档码率里挑最高画质,文件直接落盘到本地目录。它适合三类人——想把某个账号作品完整存档的创作者、用脚本定期拉取更新的运营、需要建 BGM 素材库的后期编辑。工具为 Python 3.9+ 编写,Windows、macOS、Linux 全平台可用,requirements.txt装完依赖即可跑。
可靠性是它区别于"手动另存为"的关键:默认 5 并发、2 请求/秒限速、失败按 1s/2s/5s 退避重试 3 次;下载历史写入本地 SQLite 数据库dy_downloader.db,再叠加文件名里的 aweme_id 双重去重,跑一半断网、重跑任务都只会补缺,不会重复拉。跑完后Downloaded/目录按"作者/模式/发布日期_标题_作品ID"三层组织,根目录还多出一份download_manifest.jsonl清单,可用来核对结果或做二次数据处理。
5 步跑起来:从 clone 到第一批文件落盘
整条上手路径只有 5 个命令块,全部复制即跑。
- 拿代码:仓库落到本地,后续都在这个目录里操作:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader- 装依赖:装 HTTP、进度展示等库,再拉一次浏览器内核,风控兜底靠它:
pip install -r requirements.txt pip install playwright python -m playwright install chromium- 登录拿 Cookie:复制示例配置,然后执行获取脚本,浏览器会弹出抖音登录页,登录完成后回终端按 Enter,Cookie 自动写进
config.yml:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml- 改最小配置:
config.yml只需 4 个字段——主页链接、落地目录、模式、数量(0 = 全量):
link: - https://www.douyin.com/user/MS4wLjABxxxx path: ./Downloaded/ mode: [post] number: post: 0- 启动任务:
python run.py -c config.yml启动后终端出现 Rich 进度条,文件按作者目录陆续写入;结束时Downloaded/根目录生成download_manifest.jsonl下载清单。
按场景看用法:存档、跟更、收素材
下面三个场景覆盖大部分需求,每个只列必要字段,其余保持默认即可。
场景一:整站主页存档
粘贴/user/{sec_uid}形式的主页链接,程序自动翻页收集作品,无水印源优先,码率阶梯里挑最高档;number.post: 0表示不限数量,主页有多少抓多少。存档建议把附带产物一次开齐,避免作品下架后连封面都没了:
cover: true # 封面图 music: true # 背景音乐 avatar: true # 作者头像 json: true # 原始 JSON 元数据开完后每个作品目录下同时有 mp4、封面、BGM 和元数据 JSON;目录模板默认{date}_{title}_{id},日期取作品发布时间,按时间检索不用点开视频。
场景二:跟踪目标账号更新
increase.post保持true(默认),重复跑任务时数据库与本地文件双重确认"已下载过"就直接跳过,第二次运行只会拉新增作品。缺文件由redownload_missing_files(默认true)负责补下。要限定只关心近期内容,给post翻页加一个截止日:
start_time: "2026-01-01" end_time: ""翻页越过起始日期即提前停页,几百条老作品不用翻。这类任务挂进 cron 或计划任务后基本零维护:每天跑一次,只补增量。
场景三:收 BGM 和互动素材
做素材库时music: true让每个作品的原声单独落一份 mp3;comments.enabled: true会额外为每个作品生成*_comments.json,评论数据可直接拿去做词频和话题统计,include_replies控制是否连带楼中楼。画质档位用video_quality指定,比如统一收1080p便于后期转场统一。
配置速查:5 个最影响结果的字段
完整字段注释在 config.example.yml,日常只需要动下面这几个:
| 字段 | 作用 | 推荐值 | 说明 |
|---|---|---|---|
number.post | 下载数量上限 | 0 | 0 = 不限,全量抓取 |
increase.post | 是否增量 | true | 跳过已下载;false则重下并覆盖当前筛选范围 |
start_time/end_time | 日期范围 | 按需 | YYYY-MM-DD,含结束日当天,翻页越界提前停页 |
video_quality | 画质档位 | highest | original探测上传原片(比最高转码档大时优先,每条多一次探测请求);也支持1080p/720p等 |
thread | 并发下载数 | 5 | 与 2 请求/秒限速配合,别盲目拉高 |
database | 是否写 SQLite 历史 | true | 记录写入dy_downloader.db,关闭后只留文件与清单 |
项目有命令行版和 Douzy 桌面版两种形态,选型直接看表:
| 命令行版 | Douzy 桌面版 | |
|---|---|---|
| 平台 | 抖音 | 抖音、TikTok、YouTube、Telegram、X |
| 形态 | YAML 配置 + 终端 | 图形界面,粘贴链接即下 |
| 任务管理 | 进度条 +download_manifest.jsonl清单 | 多链接队列、任务中心、失败重试 |
| 适用 | 脚本集成、定时任务、技术用户 | 所有用户 |
排错指南:现象、原因、解法
现象:只抓到少量作品,翻页提前停了原因:接口翻页触发风控,这是 CLI 批量下载的主约束。 解法:确认browser_fallback.enabled: true且headless: false,保持浏览器窗口弹出并人工完成验证,不要急着关;兜底仍不保证成功,量大场景优先桌面版。
现象:CLI 报 403 "Blocked by ArgusSecurityPlugin",重试无效原因:2026-08 起 Argus 风控拦截单视频/图文、合集、音乐及点赞收藏类接口。 解法:这类单条与合集下载改用桌面版;主页作品批量保留浏览器兜底路径。
现象:任务中途提示登录态失效,或大量请求返回未登录原因:Cookie 过期,更新 Cookie 之外的重试都不能解决。 解法:重新执行python -m tools.cookie_fetcher --config config.yml,登录后回终端按 Enter 覆盖写入。
现象:进度条重复刷屏,终端日志很吵原因:阶段日志未静默。 解法:确认progress.quiet_logs: true(默认开启);排查问题时临时加-v跑详细日志,即python run.py -c config.yml -v。
收尾:把重复劳动交给配置文件
这个工具的价值是把"翻 50 页主页 + 逐条找去水印源"压缩成一条链接和一次运行:文件按日期与标题自动归档,增量任务只补新增,失败自动退避重试。完整配置项与更多命令(热搜榜、关键词搜索、REST 服务模式)见 README.zh-CN.md 和 config.example.yml。现在就可以跑起来:
python run.py -c config.yml<输出文章> </输出文章>
等等,我发现标签闭合有问题,让我重新输出:
<输出文章>
抖音主页批量下载与去水印完整指南:一条链接跑完整个账号
Douyin Downloader 是一个免费的抖音批量下载工具:粘贴一条创作者主页链接,该账号的作品会按配置自动翻页抓全,默认走无水印源并在多档码率里挑最高画质,文件直接落盘到本地目录。它适合三类人——想把某个账号作品完整存档的创作者、用脚本定期拉取更新的运营、需要建 BGM 素材库的后期编辑。工具为 Python 3.9+ 编写,Windows、macOS、Linux 全平台可用,requirements.txt装完依赖即可跑。
可靠性是它区别于"手动另存为"的关键:默认 5 并发、2 请求/秒限速、失败按 1s/2s/5s 退避重试 3 次;下载历史写入本地 SQLite 数据库dy_downloader.db,再叠加文件名里的 aweme_id 双重去重,跑一半断网、重跑任务都只会补缺,不会重复拉。跑完后Downloaded/目录按"作者/模式/发布日期_标题_作品ID"三层组织,根目录还多出一份download_manifest.jsonl清单,可用来核对结果或做二次数据处理。
5 步跑起来:从 clone 到第一批文件落盘
整条上手路径只有 5 步,全部复制即跑。
- 拿代码:仓库落到本地,后续都在这个目录里操作:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader- 装依赖:装 HTTP、进度展示等库,再拉一次浏览器内核,风控兜底靠它:
pip install -r requirements.txt pip install playwright python -m playwright install chromium- 登录拿 Cookie:复制示例配置,然后执行获取脚本,浏览器会弹出抖音登录页,登录完成后回终端按 Enter,Cookie 自动写进
config.yml:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml- 改最小配置:
config.yml只需 4 个字段——主页链接、落地目录、模式、数量(0 = 全量):
link: - https://www.douyin.com/user/MS4wLjABxxxx path: ./Downloaded/ mode: [post] number: post: 0- 启动任务:
python run.py -c config.yml启动后终端出现 Rich 进度条,文件按作者目录陆续写入;结束时Downloaded/根目录生成download_manifest.jsonl下载清单。
按场景看用法:存档、跟更、收素材
下面三个场景覆盖大部分需求,每个只列必要字段,其余保持默认即可。
场景一:整站主页存档
粘贴/user/{sec_uid}形式的主页链接,程序自动翻页收集作品,无水印源优先,码率阶梯里挑最高档;number.post: 0表示不限数量,主页有多少抓多少。存档建议把附带产物一次开齐,避免作品下架后连封面都没了:
cover: true # 封面图 music: true # 背景音乐 avatar: true # 作者头像 json: true # 原始 JSON 元数据开完后每个作品目录下同时有 mp4、封面、BGM 和元数据 JSON;目录模板默认{date}_{title}_{id},日期取作品发布时间,按时间检索不用点开视频。
场景二:跟踪目标账号更新
increase.post保持true(默认),重复跑任务时数据库与本地文件双重确认"已下载过"就直接跳过,第二次运行只会拉新增作品。缺文件由redownload_missing_files(默认true)负责补下。要限定只关心近期内容,给post翻页加一个截止日:
start_time: "2026-01-01" end_time: ""翻页越过起始日期即提前停页,几百条老作品不用翻。这类任务挂进 cron 或计划任务后基本零维护:每天跑一次,只补增量。
场景三:收 BGM 和互动素材
做素材库时music: true让每个作品的原声单独落一份 mp3;comments.enabled: true会额外为每个作品生成*_comments.json,评论数据可直接拿去做词频和话题统计,include_replies控制是否连带楼中楼。画质档位用video_quality指定,比如统一收1080p便于后期转场统一。
配置速查:5 个最影响结果的字段
完整字段注释在 config.example.yml,日常只需要动下面这几个:
| 字段 | 作用 | 推荐值 | 说明 |
|---|---|---|---|
number.post | 下载数量上限 | 0 | 0 = 不限,全量抓取 |
increase.post | 是否增量 | true | 跳过已下载;false则重下并覆盖当前筛选范围 |
start_time/end_time | 日期范围 | 按需 | YYYY-MM-DD,含结束日当天,翻页越界提前停页 |
video_quality | 画质档位 | highest | original探测上传原片(比最高转码档大时优先,每条多一次探测请求);也支持1080p/720p等 |
thread | 并发下载数 | 5 | 与 2 请求/秒限速配合,别盲目拉高 |
database | 是否写 SQLite 历史 | true | 记录写入dy_downloader.db,关闭后只留文件与清单 |
项目有命令行版和 Douzy 桌面版两种形态,选型直接看表:
| 命令行版 | Douzy 桌面版 | |
|---|---|---|
| 平台 | 抖音 | 抖音、TikTok、YouTube、Telegram、X |
| 形态 | YAML 配置 + 终端 | 图形界面,粘贴链接即下 |
| 任务管理 | 进度条 +download_manifest.jsonl清单 | 多链接队列、任务中心、失败重试 |
| 适用 | 脚本集成、定时任务、技术用户 | 所有用户 |
排错指南:现象、原因、解法
现象:只抓到少量作品,翻页提前停了原因:接口翻页触发风控,这是 CLI 批量下载的主约束。 解法:确认browser_fallback.enabled: true且headless: false,保持浏览器窗口弹出并人工完成验证,不要急着关;兜底仍不保证成功,量大场景优先桌面版。
现象:CLI 报 403 "Blocked by ArgusSecurityPlugin",重试无效原因:2026-08 起 Argus 风控拦截单视频/图文、合集、音乐及点赞收藏类接口。 解法:这类单条与合集下载改用桌面版;主页作品批量保留浏览器兜底路径。
现象:任务中途提示登录态失效,或大量请求返回未登录原因:Cookie 过期,更新 Cookie 之外的重试都不能解决。 解法:重新执行python -m tools.cookie_fetcher --config config.yml,登录后回终端按 Enter 覆盖写入。
现象:进度条重复刷屏,终端日志很吵原因:阶段日志未静默。 解法:确认progress.quiet_logs: true(默认开启);排查问题时临时加-v跑详细日志,即python run.py -c config.yml -v。
收尾:把重复劳动交给配置文件
这个工具的价值是把"翻 50 页主页 + 逐条找去水印源"压缩成一条链接和一次运行:文件按日期与标题自动归档,增量任务只补新增,失败自动退避重试。完整配置项与更多命令(热搜榜、关键词搜索、REST 服务模式)见 README.zh-CN.md 和 config.example.yml。现在就可以跑起来:
python run.py -c config.yml【免费下载链接】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),仅供参考