ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

抖音视频下载神器 douyin-downloader 零基础完全指南:去水印、批量备份、直播录制一次搞定

抖音视频下载神器 douyin-downloader 零基础完全指南:去水印、批量备份、直播录制一次搞定

抖音视频下载神器 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

想收藏一个喜欢的抖音视频,却发现保存下来的总是带着账号水印?想把自己发布过的上百条作品一次性备份到本地,却只能一条条手动操作?这些困扰很多人的小麻烦,其实都能用一个开源工具轻松化解——douyin-downloader。这是一款专为实用场景打造的抖音下载工具,支持视频、图文、合集、音乐等多种内容类型,还内置去水印、批量下载、SQLite 去重、断点续传等能力。无论你是只想偶尔存一两条视频的普通用户,还是需要定期备份作品的创作者,它都能帮你把"下载这件事"变得又快又省心。

🤔 为什么你需要这样一个工具?

先回忆一下你过去是怎么存抖音视频的:用录屏软件录一段?画质打折扣,还有声音问题;用第三方网页解析?链接常常失效,还要忍受满屏广告;手动逐个保存?遇到上百条作品直接崩溃。

douyin-downloader 存在的意义,就是把上面这些痛点一次性解决。它有几个让你"用过就回不去"的设计:

智能双策略,失败率大幅降低工具内置了 API 策略与浏览器策略两套方案。API 策略响应快、效率高,适合大批量抓取;当遇到翻页受限或风控时,它会自动切换并唤起浏览器兜底,甚至支持人工完成验证码后继续。两条腿走路,稳定性自然更有保障。

去水印 + 最高清,默认给你最好的下载时会自动优先挑选无水印的视频源,并基于码率数组自动选择清晰度最高的版本,不用你手动折腾任何参数。

SQLite 去重,绝不浪费你的时间和硬盘每次下载前,程序都会通过数据库记录和本地文件双重检查,已经存在的内容自动跳过。批量下载几百条作品时,这个机制能帮你省下大量重复劳动。

一次安装,覆盖多种下载类型视频、图文、合集、音乐、直播,甚至评论和热搜榜,都能在同一个工具里完成,而不是装一堆互不相干的脚本。

🚀 第一步:15 分钟完成环境准备

1. 确认 Python 环境

douyin-downloader 需要 Python 3.8 及以上版本。打开终端输入下面这行,确认版本号符合要求:

python --version

如果提示找不到命令,可能需要先安装 Python 或使用python3代替。

2. 获取项目源码并安装依赖

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

依赖安装一般只要一两分钟。如果你想使用"浏览器兜底"或"自动获取 Cookie"功能,再额外装一个 Playwright:

pip install playwright python -m playwright install chromium

3. 配置 Cookie:最关键的一步

Cookie 相当于你访问抖音的"通行证"。没有它,工具可能只能抓到公开数据,批量下载很容易被限制。douyin-downloader 提供了两种配置方式,推荐用第一种:

自动获取(推荐)

python cookie_extractor.py

工具会自动打开浏览器并引导你完成登录,登录成功后 Cookie 自动写入配置文件,全程无需手动复制粘贴。

手动配置

python get_cookies_manual.py

脚本会一步步教你从浏览器开发者工具中复制 Cookie 并填入配置文件。如果你使用的是项目新版入口run.py,对应的命令是:

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

小贴士:Cookie 偶尔会过期。遇到"登录态失效"之类的提示时,重新运行上面的命令刷新一次即可。

⬇️ 第二步:完成你的第一次下载

环境就绪后,最简单的下载方式是一条命令搞定。比如你要保存某个视频:

python downloader.py -u "https://v.douyin.com/你的视频链接"

短链接、完整视频链接都能识别,程序会自动解析并开始下载。稍等片刻,打开项目根目录下的Downloaded/文件夹,你就能看到下载好的视频文件了。

下载过程中你会看到带进度条的实时界面,以及最终的成功/失败统计——成功率、耗时一目了然:

是不是很简单?从零到第一次下载成功,通常用不了 15 分钟。

📦 第三步:批量备份一位创作者的全部作品

现在来到这个工具最核心的用法:批量下载。假设你想完整备份某位博主的主页作品,只需两步。

第一步:写一份配置文件

项目根目录下有一个config.example.yml示例配置,复制一份并编辑:

cp config.example.yml config.yml

填入你要下载的主页链接和模式:

# 支持多个链接,可同时放入多个主页 link: - https://www.douyin.com/user/该用户的sec_uid # 保存目录 path: ./Downloaded/ # 下载模式:post 发布作品 / like 点赞作品 / mix 合集 / music 音乐 mode: - post # 数量限制,0 表示全部下载 number: post: 0 # 并发下载数(默认 5,建议不超过 10) thread: 5 # 失败重试次数 retry_times: 3

第二步:运行下载

python downloader.py -u "https://www.douyin.com/user/该用户的sec_uid"

运行后,工具会自动翻页抓取全部作品并逐个下载,批量任务并发执行,进度一目了然:

三个让批量下载更好用的参数

只想下载最近 50 条?在配置里把number.post改成 50 即可。

只想要某个时间段的内容?加上时间过滤:

start_time: "2024-01-01" end_time: "2024-12-31"

这样工具只会下载 2024 年发布的视频,做年度总结或特定时期整理时非常实用。

开启增量下载,只补新作品?在配置中加入:

increase: post: true database: true # 增量模式依赖数据库记录

开启后,工具会自动比对数据库记录,下次运行只下载新增内容,不重复劳动。

🎵 第四步:合集、音乐、收藏夹也能一键搞定

主页下载只是其中之一。douyin-downloader 对链接类型有完整的识别能力,同一个入口能处理各种内容:

内容类型链接示例说明
单个视频/video/{aweme_id}最常见的单视频下载
单个图文/note/{note_id}图片合集,无水印逐张保存
单个合集/collection/{mix_id}下载整个视频合集
单个音乐/music/{music_id}优先下载原声文件
直播live.douyin.com/{room_id}录制直播流

比如想同时下载一位博主的主页作品、点赞和合集,把配置改成:

mode: - post - like - mix - music

你可能会担心:同一作品在作品列表和合集里重复出现,会不会下载两遍?不会——工具内置跨模式去重,同一个作品 ID 在不同模式下只会保存一次。

🎬 第五步:进阶玩法——直播录制与内容洞察

录制一场直播

想保存某场直播的回放?对链接稍作调整即可:

python downloader.py -u "https://live.douyin.com/直播间ID"

运行后会显示直播间的标题、在线人数等信息,并让你选择录制清晰度(如 FULL_HD / SD):

douyin-downloader 直播录制与清晰度选择

录制文件会保存在Downloaded/作者名/live/目录下,附带直播间元数据。即使主播中途下播或你手动中断,已经录制的部分也会完整保留,不会白白丢失。

抓取热搜榜与关键词搜索

新版入口run.py还内置了内容洞察能力,不需要下载也能使用:

# 导出抖音热搜榜前 30 条 python run.py --hot-board 30 -p ./Downloaded # 按关键词搜索作品并导出结果 python run.py --search "猫咪" --search-max 100 -p ./Downloaded

结果会以 JSONL 格式输出到hot_board/search/目录,方便后续做数据分析。

下载完成后自动通知

如果你跑的是定时任务或 Docker 部署,不想盯着终端,可以配置完成后推送:

notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/你的设备KEY - type: telegram bot_token: "123456:ABC..." chat_id: "987654321" - type: webhook url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx

下载结束,手机立刻收到通知,省心又及时。

以 REST API 服务模式运行

如果你熟悉编程,还可以把工具变成一个小型服务,供其他程序调用:

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

之后通过POST /api/v1/download提交链接、GET /api/v1/jobs/{job_id}查询进度,就能把"下载抖音内容"集成到你自己的应用里。

🗂️ 第六步:了解你的下载成果

清晰的目录结构

下载完成后,文件会按"作者 → 模式 → 作品"的层级自动组织:

Downloaded/ └── 作者名/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── 2024-02-07_作品标题_aweme_id.mp4 # 视频 │ ├── ..._cover.jpg # 封面 │ ├── ..._music.mp3 # 背景音乐 │ └── ..._data.json # 元数据 ├── like/ ├── mix/ └── music/

每个作品一个独立文件夹,命名以发布时间开头,方便按日期检索:

如果你喜欢扁平结构,也可以把配置里的folderstyle设为false,文件将直接保存在下载目录下。

用 SQLite 查询下载历史

默认开启的数据库dy_downloader.db会记录每一次下载。用一条 SQL 就能查看最近 20 条历史:

sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name, datetime(download_time, 'unixepoch', 'localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"

想统计每个作者下载了多少作品?换成:

SELECT author_name, COUNT(*) FROM aweme GROUP BY author_name;

🔧 常见问题速查

Q1:只能抓到 20 条作品就停了?这是翻页风控的典型表现。请确保配置中browser_fallback.enabled: trueheadless: false,浏览器弹出验证后手动完成,不要急着关窗口。

Q2:下载速度很慢?先检查网络,再试试把thread从 5 降到 3;也可以为 API 请求设置代理(proxy: "http://127.0.0.1:7890")。

Q3:下载过的内容想重新下载?去重同时依赖数据库和本地文件。删掉本地文件后,还需用sqlite3删除对应记录,例如:

sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '作品ID';"

Q4:进度日志刷屏怎么办?新版默认progress.quiet_logs: true会静默阶段日志,调试时再临时加--show-warnings-v

📋 常用命令速查表

场景命令说明
安装依赖pip install -r requirements.txt一次性准备环境
自动获取 Cookiepython cookie_extractor.py打开浏览器引导登录
手动配置 Cookiepython get_cookies_manual.py按脚本指引填入 Cookie
下载单个视频python downloader.py -u "视频链接"短链/长链均可
批量下载主页python downloader.py -u "主页链接"结合配置文件mode/number
指定并发数python downloader.py -u "链接" -t 8按网络状况调整线程
下载直播python downloader.py -u "直播间链接"支持清晰度选择
导出热搜榜python run.py --hot-board 30输出 JSONL 到hot_board/
关键词搜索python run.py --search "关键词"输出 JSONL 到search/
REST 服务python run.py --serve --serve-port 8000提供 HTTP 接口

🎯 下一步,你可以做什么?

到这里,你已经掌握了 douyin-downloader 从入门到进阶的大部分玩法。接下来可以:

  1. 深入配置:翻看项目中的config.example.ymlUSAGE.md,逐一了解comments(评论采集)、transcript(视频转写)、live(直播参数)等更多可选项。
  2. 探索源码:工具的核心逻辑在apiproxy/douyin/douyin-downloader/core/目录,感兴趣的话可以看看它如何解析链接、处理重试。
  3. 加入社区:如果遇到问题或有好点子,欢迎到项目页面提 Issue、分享使用经验。

最后想提醒一句: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),仅供参考

返回列表