15 分钟备份一个抖音主页:抖音批量下载与增量同步实战
2026/9/16 14:47:26 网站建设 项目流程

15 分钟备份一个抖音主页:抖音批量下载与增量同步实战

【免费下载链接】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、元数据一并落地。

5 分钟跑通抖音批量下载

这一节直接回答三个问题:装在哪、通行证从哪来、第一个任务怎么发。

环境要求只有一条:Python 3.8+。克隆后装依赖:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt # 可选:需要"自动获取 Cookie"或浏览器兜底时,再装一个无头浏览器 pip install playwright python -m playwright install chromium

Cookie 三种配法怎么选

Cookie 是访问抖音接口的通行证,没有它部分主页接口拿不到数据。三种配法按推荐顺序排:

  1. 自动获取:运行 Cookie 抓取脚本,会自动打开浏览器,你登录完回终端按 Enter,字段直接写进配置,最省心;
  2. 整串粘贴:从浏览器开发者工具复制完整 Cookie 字符串,整段填进配置文件;
  3. 键值对填写msTokenttwidsid_guard逐字段填,结构最清晰,但字段一多最容易填错。
# 自动方式:浏览器登录完成后,回终端按 Enter python -m tools.cookie_fetcher --config config.yml # 跑第一个任务 python run.py -c config.yml

最小可运行配置

配置文件保留这几个字段就能跑起来,多余的后面再按需加:

link: - https://www.douyin.com/user/你的目标博主ID path: ./Downloaded/ mode: - post # 发布作品;也可加 like / mix / music number: post: 50 # 最多 50 条,0 表示全量 thread: 5 retry_times: 3 database: true increase: post: true # 只取新作品

命令行会实时刷进度条,跑完自动汇总成功 / 失败 / 跳过数量。

7 种链接形态它都能认

你不需要告诉它"这是什么类型的下载"。链接解析与下载器装配在 core/ 目录里,按 URL 形态自动匹配:

链接形态拿到的内容
/video/视频ID单条短视频
/note/笔记ID/gallery/笔记ID图文笔记
/collection/合集ID/mix/合集ID整个合集
/music/音乐ID该原声下的所有作品
/user/用户ID博主主页,配合 mode 批量下载
v.douyin.com/短链分享短链,自动展开后下载
live.douyin.com/直播间直播录制,live.max_duration_seconds: 0录到主播下播

它认得出的链接按上表七种全覆盖;认不出的链接会明确报错退出,不会闷头跑空。

下载产物:每个作品落地"一整套"

视频默认走无水印源,并在码率档位里自动挑最高画质。视频本体之外,封面、背景音乐、作者头像、JSON 元数据(点赞数、评论数、发布时间、话题标签)都可以用开关开启。

文件按"作者 / 模式 / 作品"三层归档:

Downloaded/ ├── download_manifest.jsonl # 下载清单,每行一条 JSON └── 作者名/ └── post/ └── 2024-02-07_作品标题_作品ID/ ├── 2024-02-07_作品标题_作品ID.mp4 ├── 2024-02-07_作品标题_作品ID_cover.jpg ├── 2024-02-07_作品标题_作品ID_music.mp3 └── 2024-02-07_作品标题_作品ID_data.json

文件夹里的日期取自作品发布时间而不是下载时间,隔三个月再备份,时间线依然整齐。根目录的download_manifest.jsonl清单记录日期、作者、标题、文件路径,方便后期检索和二次处理。

增量同步怎么开:下过就不再碰

批量下载最费的是重复拉取——博主新更 10 条,你重跑一遍却把 100 条全下了。工具用 storage/database.py 里的 SQLite 数据库解决:每下载一条,就把作品 ID、作者、发布时间、保存路径写库;再次运行,已存在的直接跳过。

开关就两个配置项:

database: true # 去重数据库,默认开启 increase: post: true # 跳过已下载,只取新增

每天挂一次定时任务,效果等同自动追更:新作品进来,旧的绝不动。做博主监控或长期素材库,这一条能省下大量带宽和磁盘。

命名模板与时间范围过滤怎么配

默认的"日期_标题_ID"不够用时,用filename_template从变量里自由拼装,可用变量定义在 utils/naming.py:

filename_template: "{date}_{author}_{title}_{id}" start_time: "2024-01-01" end_time: "2024-12-31"

常用变量有dateauthortitleidyearmonthtypemode,写错变量会直接报错。start_time/end_time是很多人忽略的利器:做年度盘点或时间段研究时,配合number数量限制就能精确圈定样本,不必全量拉取。

⚠️ 四个高频翻车点与对策

遇到下面四种情况别慌,它们的行为都是可预期的:

  1. Cookie 失效,接口返回未登录:可交互环境下自动打开浏览器重新登录并重试;服务器这类非交互环境会提示你手动刷新 Cookie。
  2. 主页只能抓到 20 条左右:这是接口翻页风控的典型表现。确认browser_fallback.enabled: true,API 受限时它会切到浏览器模式滚动采集作品 ID 再补全详情;headless: false下弹窗出现时手动过一下验证即可。
  3. 个别视频下载失败:被删、设私密、断网都会失败。工具默认跳过失败项继续跑完其余任务,需要排查时加--verbose看完整日志。
  4. 文件名日期不对:日期优先取发布时间,该字段缺失或非法时回退到当天日期并记告警,属预期行为而不是 bug。

调参建议:网络一般时thread: 5就够,盲目调高并发反而容易触发风控;请求被限速时优先调低rate_limit(默认 2 请求/秒)而不是并发数;网络波动大再把retry_times提到 5。

🖥️ 不想敲命令线:用桌面版 Douzy

仓库里还有配套桌面客户端 Douzy,和命令行共享同一套后端逻辑。粘贴链接即可开始,内容类型、保存路径全在窗口内配置:

"关注"页能同步你关注的博主、标记新作品并加备注,从列表直接发起下载,适合日常素材采集:

任务中心用列表展示每个任务的进度与状态,失败项可单独重试,还能一键打开输出目录:

不熟悉终端的用户,这是最顺手的入口;有自动化需求的用户,命令行随时可切换,两边不用重新学逻辑。

把使用守住边界,再交给工具跑

工具能干很多,但用法要有分寸:

  • 用途:适合个人学习、研究分析、内部资料整理,不适合商业性内容分发或侵权二传;
  • 频率:项目内置请求间隔与并发上限,别去掉限速逻辑去"冲"接口,大规模高频抓取会干扰平台服务;
  • 来源:下载内容注明出处,遵守平台内容使用协议,不用于恶意竞争或获取隐私信息。

配好后按这五步进入日常运转:

  1. 克隆仓库,跑一遍pip install -r requirements.txt
  2. 用自动方式取一次 Cookie,浏览器登录即可;
  3. 贴一个博主主页链接,跑最小配置验证产物;
  4. 打开databaseincrease,让重跑只取新增;
  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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

立即咨询