抖音视频下载:单条、作者主页批量与直播录制的完整实操指南
【免费下载链接】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 是一个可本地运行的开源抖音视频下载工具,把去水印单条下载、作者主页增量批量抓取、直播录制这三类活一次做掉,适合需要长期归档抖音内容的运营、分析和收藏用户。
它是什么、适合谁
这一节说明工具的定位和适用人群。
- 它是 Python 编写的命令行工具,内置 SQLite 数据库做去重,支持并发、失败重试与浏览器兜底,配置集中在一个 YAML 文件里。
- 核心卖点是「单条稳、批量省」:视频本体去水印直出,封面、原声音乐、JSON 元数据默认一并落盘(
config.example.yml中music/cover/avatar/json默认均为 true)。 - 适合三类人:跟踪竞品账号、需要拉取历史作品做内容分析的运营;需要完整作品数据(含评论、元数据)的分析人员;想把收藏夹离线存档的用户。
- 与在线解析站的区别在于本地运行:不限速、不隔天失效、可反复重跑。
安装与配置
这一节把环境、依赖、凭证合并成三步,每步一条最短命令。
- 克隆仓库并安装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader && pip install -r requirements.txt- 从模板生成自己的配置文件:
cp config.example.yml config.yml- 获取 Cookie。浏览器会弹出抖音登录页,登录成功后回到终端按回车,凭证自动写入配置:
python -m tools.cookie_fetcher --config config.yml按场景实操
这一节走通单条、作者主页、直播三条链路,每个场景给出最小配置、命令和结果。
单条抖音视频下载
只需在配置里填一条链接:
link: - https://www.douyin.com/video/7604129988555574538python run.py -c config.yml终端里视频、封面、音乐各自有独立进度,结束时打印成功/失败/跳过统计。文件默认按「作者 → 模式 → 日期」归档,命名模板{date}_{title}_{id}(filename_template),日期取作品发布时间而非下载时间。
上图验证了单条下载流程:结束统计面板可见,二次运行时音乐、封面、头像均显示「跳过已存在」,不会重复下载。
上图验证了归档结果:每个作品独立目录,按发布时间命名,检索和统计都方便。
批量抓取抖音作者主页
把链接换成主页地址,同时指定模式与数量:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix number: post: 50 # 0 表示全量python run.py -c config.ymlpost/like/mix/music四种模式可同时写;同一作品跨模式出现时只下载一次,database默认 true 会记录历史,重跑自动跳过已下载文件。并发数thread默认 5,网络好可上调,担心风控就配合-t 2并设置请求限速。
上图验证了批量抓取:多条任务并行推进进度条,配合数据库去重实现增量更新。
抖音直播录制
直播间地址可直接通过-u传入:
python run.py -c config.yml -u "https://live.douyin.com/123456789"工具自动拉取 FLV 流地址开始录制,主播下播或中断时已录数据保留;live.max_duration_seconds设为 0 表示录到主播下播(见config.example.yml的live段)。
上图验证了直播录制:清晰度选项与 FLV 播放地址均自动获取,无需手动复制。
进阶能力
- 💬 评论采集:
comments.enabled: true后每个作品额外生成*_comments.json;include_replies: true可拉取二级回复。 - 🔍 热搜与搜索:
python run.py --hot-board 30导出热搜榜快照,--search "关键词"按词导出作品列表(默认 50 条,--search-max可调),结果均为 JSONL。 - 🔔 完成通知:
notifications段支持 bark / telegram / webhook,成功与失败均可推送,夜间挂机无需盯屏。 - ⚙️ REST API 模式:先
pip install fastapi uvicorn,再python run.py --serve --serve-port 8000,下载器即可被外部流程调用。
常见疑问
这一节回答使用中最常遇到的五个问题。
接口突然报错,是 Cookie 过期吗?登录态有有效期,重跑python -m tools.cookie_fetcher --config config.yml即可刷新。另外browser_fallback.enabled默认为 true,API 翻页受限时会自动拉起浏览器,人工过一下验证码即可继续。
mode 和 number 分别控制什么?mode决定抓主页的哪个分区(post/like/mix/music),number限定各模式条数,0 代表全量。两者配合使用。
collect 模式能和其他模式混写吗?不能。收藏夹只取当前登录账号自己的收藏,且必须单独使用,不能与 post、like 等并列。
直播 HLS 源录下来能直接播吗?FLV 源直接可播;HLS 只保存 playlist 文件,需要自行用 ffmpeg 处理,属于实验性功能。
重跑会重复下载吗?不会。数据库记录每个已下载作品,重跑时跳过已存在文件,终端会打印「跳过已存在」明细。
小结
偶尔下几条,cookie_fetcher 加 run.py 两步就够;长期跟踪多个账号,保持 database 开启并配置完成通知,按作者目录归档即可。所有可选项在config.example.yml中都有注释,项目附带 Dockerfile,也支持容器化部署。
【免费下载链接】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),仅供参考