3 步跑通首次下载:实用抖音批量下载工具 douyin-downloader 使用指南
2026/9/16 16:54:47 网站建设 项目流程

3 步跑通首次下载:实用抖音批量下载工具 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

最近给 3C 数码测评团队拉某个博主近 100 条视频做脚本结构分析,手动下载不但有水印残留,敲了三天文件命名还是一团乱。最后我们用开源的抖音批量下载工具 douyin-downloader 解决:贴一个博主主页链接、配一下抓取数量,十几分钟后无水印视频、封面、JSON 元数据就全部按目录归档好了。这篇文章从安装到批量采集把完整流程走一遍,不跳步。

工具概览:douyin-downloader 能做什么

一句话说明:它是一个基于 Python 的抖音批量下载工具,命令行驱动,支持视频、图文、合集、音乐、直播的无水印下载,也能按博主主页链接整站式采集。核心能力点:

  • 📦 博主主页批量采集:作品 / 点赞 / 合集 / 音乐四种模式,可混用、可限量,跨模式自动去重
  • 无水印优先 + 自动挑最高码率档,封面、原声、头像、原始 JSON 作为附带产物
  • SQLite 记录 + 本地文件双重去重,增量下载,重跑只补新内容
  • 翻页被风控时自动拉起浏览器兜底,支持人工过验证码
  • 可切换 REST API 服务模式,也提供 Dockerfile 容器部署

5 分钟从零跑通:安装、最简配置、首次下载

第一步:装依赖

环境要求只有 Python 3.8+,macOS / Linux / Windows 都支持。克隆仓库后装依赖:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt

这一步装的是核心运行依赖(aiohttp、rich、pyyaml 等)。如果你打算用"自动获取 Cookie"或浏览器兜底,再补上 Playwright 浏览器内核:

pip install playwright python -m playwright install chromium

第二步:写一份最小配置

仓库自带 config.example.yml 示例,所有字段默认值都定义在 config/default_config.py,所以真正必须改的只有链接和数量:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 10 thread: 5 database: true

这份 12 行的含义:从指定主页拉 10 条作品,存到./Downloaded/,5 路并发,开启 SQLite 去重。number.post写 0 就是不限数量。

第三步:拿 Cookie 然后跑

Cookie 是访问抖音接口的凭证,推荐用自动方式——tools/cookie_fetcher.py 会弹出一个浏览器,登录完成后回终端按回车,Cookie 自动写回配置:

python -m tools.cookie_fetcher --config config.yml

也支持手动:登录抖音网页版后从开发者工具复制 Cookie 串,粘贴进配置的cookies字段。确认无误后运行:

python run.py -c config.yml

终端会滚动 Rich 进度条,结束后在Downloaded/作者名/post/下能看到按"发布日期_标题_aweme_id"命名的子目录,里面是 mp4、封面、原声、_data.json元数据。想先验证流程的话,把link换成一个/video/{id}单视频链接跑一次,是最快的自检方式。

核心能力拆解:按"你拿到什么结果"来组织

批量采集抖音作者主页全部作品

最高频的用法:贴/user/{sec_uid}主页链接,mode里填 post / like / mix / music 任意组合,同一个作品跨模式不会重复下载。给 post 加上increase: true后,第二次运行会自动跳过磁盘上已存在的文件,做竞品定期跟踪很顺手:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - like number: post: 100 like: 50 increase: post: true

抖音直播录制与回放留存

直播功能官方标注为实验性,但行为比较稳:贴live.douyin.com/{room_id}链接就会持续录制 FLV 流;主播下播、网络空闲或你 Ctrl+C 中断时,已录制的字节都会保留,.tmp自动提升为正式文件:

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 = 录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30

录完的文件和*_room.json直播间元数据快照一起落在Downloaded/{作者}/live/下。注意 FLV 源可直接播放,HLS 源只保存 playlist,需要 ffmpeg 后处理。

抖音评论数据采集

如果目的是互动分析,打开 comments 开关后每个作品会多出一个*_comments.json,含一级评论,可选二级回复:

comments: enabled: true include_replies: false # true 会多拉每条评论的二级回复 max_comments: 500 # 0 = 不限 page_size: 20

文件自动归档与元数据保留

所有下载产物遵循统一的目录约定:"作者 / 模式 / 发布日期_标题_aweme_id",每个作品自带_data.json原始元数据;下载目录根部还有一份 append-only 的download_manifest.jsonl清单,逐行记录日期、标题、标签、文件列表等可追溯字段,做下游分析可以直接基于它,不用回头解析散落的 JSON。完整落盘结构见 PROJECT_SUMMARY.md 第 4 节。

收藏与喜欢作品整批下载

collect/collectmix两个模式面向当前登录账号的收藏夹和收藏合集,注意它们必须单独使用,不能和 post / like 混填:

link: - https://www.douyin.com/user/self?showTab=favorite_collection mode: - collect number: collect: 0

进阶玩法:并发调优、代理、定时任务与 API 集成

并发、重试与代理

性能三件套都在顶层配置:thread管并发(默认 5),retry_times管重试次数(内部按 1s / 2s / 5s 指数退避),rate_limit默认 2 请求/秒。批量任务建议先试 8 并发,网络不稳就配代理、加重试:

thread: 8 retry_times: 5 rate_limit: 2 proxy: "http://127.0.0.1:7890"

用定时任务做每日增量同步

"每天凌晨 2 点自动同步新作品"在 Linux / Mac 上就是一行 crontab:

0 2 * * * cd /path/to/douyin-downloader && python run.py -c config.yml >> download.log 2>&1

Windows 用任务计划程序,动作指向同样的命令即可。配合increase增量开关,这就是一条零维护的数据管道,跑一周也只下载新增部分。

以 REST API 服务集成进自己的系统

需要被别的系统调用的话,装一次可选依赖再启动服务模式:

pip install fastapi uvicorn python run.py --serve --serve-port 8000

之后 POST{"url": "..."}/api/v1/download拿到 job_id,再查/api/v1/jobs/{job_id}即可;任务按 TTL(默认 24 小时)和容量(默认 500 条)自动清理。另外还内置 Bark / Telegram / Webhook 完成通知,配一个 providers 块就能在定时任务跑完后推送到手机。

桌面端 Douzy:不想碰命令行的替代方案

同一套后端还做了个桌面版 Douzy(内测中),和 CLI 的差异主要在三点:不用写 YAML,粘贴链接自动识别视频 / 主页 / 合集类型直接起任务;左侧栏提供关注、收藏与喜欢、多链接队列、作品档案四个入口,博主列表支持按"有新作品"筛选、加备注、一键下载;任务中心展示每条任务的成功 / 失败计数,失败项可以直接重试。如果你已经用 CLI 跑了定时任务,桌面端更适合当"管理台":命令行负责下,GUI 负责看和整理。

高频问题 FAQ

Q:只抓到约 20 条作品,远少于配置数量?A:翻页风控。确认browser_fallback.enabled: trueheadless: false,浏览器弹窗出现后手动完成验证,别急着关窗口。

Q:Cookie 失效,作品列表拉不动?A:重跑python -m tools.cookie_fetcher --config config.yml覆盖写入即可。

Q:下载速度慢?A:先降thread排除带宽瓶颈;确认是 IP 限流的话配上proxy再跑。

Q:某条作品想强制重新下载?A:删掉对应本地目录(目录名含 aweme_id)就行——"数据库有记录但文件缺失"会被程序视为需要补下。

Q:为什么没有生成 transcript 转写文件?A:转写只对视频生效,图文不会生成;同时确认transcript.enabled: trueOPENAI_API_KEY有效。

合规边界

  • ✅ 适合:个人学习研究、不对外传播的竞品分析、自己账号内容的个人存档
  • ❌ 不适合:商业性分发、侵权二次传播、大规模爬取干扰平台服务、抓取他人隐私数据
  • 工具内置频率控制:默认约 2 请求/秒、5 并发、失败指数退避,别为了快把rate_limit调太高

写在最后

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),仅供参考

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

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

立即咨询