抖音批量下载工具快速上手: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
凌晨一点,某自媒体运营对着浏览器挨个点开50个视频链接,复制、粘贴、另存为——这是他今晚的第四轮重复操作,屏幕右下角弹窗提示磁盘里已堆积了三个同名文件。同一时间,隔壁工位的同事用一条命令跑完了同样的工作,顺手把下载进度截图发进了工作群。差别只在于:他装了 douyin-downloader。
douyin-downloader 是一款开源的抖音批量下载工具,支持视频、图集、合集、音乐的无水印批量下载,并自动保存完整元数据。
如果你需要持续获取某个博主的全部作品、采集特定话题素材、或者只是想干净地存下几个视频而不是拖着水印——下面这份指南能让你在十分钟内跑通整个流程。
这个工具能做什么:能力总览
douyin-downloader 解决的不是"下载单个视频"这种小事,而是"长期、批量、有组织地管理抖音内容"这件事。它把下载过程中最容易翻车的环节全部自动化了:
| 能力 | 具体表现 |
|---|---|
| 内容类型 | 视频、图集、合集、音乐(原声)、直播录制 |
| 批量来源 | 博主主页作品/点赞、当前账号收藏夹、合集、音乐、关键词搜索、热搜榜 |
| 去水印与画质 | 优先无水印源,按 bit_rate 自动挑选最高码率 |
| 去重机制 | SQLite 数据库 + 本地文件双重去重,增量模式下只拉新作品 |
| 完整性校验 | Content-Length 比对,不完整文件自动清理重试 |
| 稳定性兜底 | 翻页被限时降级到浏览器模拟,支持人工过验证码 |
| 附带资源 | 封面、音乐、作者头像、JSON 元数据,可选评论采集与视频转写 |
| 自动化接口 | 命令行、REST API、完成通知推送(Bark/Telegram/Webhook) |
一句话概括:你只管把链接或博主主页地址交给它,剩下的解析、翻页、去重、命名、存盘全自动完成。
极速上手:5分钟跑通第一个下载任务
上手路径非常短,三步走完:装依赖、填配置、跑命令。
第一步:克隆项目并安装依赖
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第二步:写一份最小可运行配置
复制config.example.yml为config.yml,按下面这份精简版修改即可。注释已标明每一项的作用:
# 要下载的链接:单条视频/图文链接,或博主主页链接(后者做批量) link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 保存目录 path: ./Downloaded/ # 博主主页的批量模式:post=作品 like=点赞 mode: - post # 每个模式的下载数量,0 表示不限 number: post: 50 # 并发数与失败重试 thread: 5 retry_times: 3 # 开启 SQLite 去重,避免重复下载 database: true # Cookie:auto 表示自动抓取(推荐) cookies: auto第三步:抓取 Cookie 并启动
# 自动登录并写入 Cookie(按提示操作即可) python -m tools.cookie_fetcher --config config.yml # 开始下载 python run.py -c config.yml跑起来后,终端会显示实时进度条:哪些在排队、哪些已完成、哪些资源被跳过(已存在)。下载完成后,目录结构按"作者 → 作品类型 → 单条作品"组织,视频、封面、音乐、JSON 元数据各归其位。
分角色实战:三类典型用户的配置方案
内容创作者:批量收集对标账号素材
每天要盯几十个同行的更新,手动跟根本来不及。把他们的主页链接全部写进配置,一次跑完:
link: - https://www.douyin.com/user/博主A的sec_uid - https://www.douyin.com/user/博主B的sec_uid - https://www.douyin.com/user/博主C的sec_uid mode: - post - like # 同时抓作品和点赞,观察他们的选品逻辑 number: post: 100 like: 50 min_likes: 1000 # 只保留点赞过千的内容,过滤噪音配合increase.post: true开启增量模式,每天只下载新增作品,相当于给竞品做了个"更新订阅"。
研究者:大规模语料与评论采集
做内容分析需要样本量,手动抓一万条不现实。用搜索和热搜榜把候选列表一次性导出为 JSONL,再按需批量下载:
# 按关键词搜索并导出前 100 条作品数据 python run.py --search "城市漫步" --search-max 100 -p ./研究数据/ # 拉取热搜榜前 30 条 python run.py --hot-board 30 -p ./研究数据/对样本逐条采集评论时,在配置中打开评论开关:
comments: enabled: true include_replies: false # 需要二级回复再开,会额外增加请求 max_comments: 500 # 0 = 不限每条作品会额外生成*_comments.json,与媒体文件放在同一目录。如果还想把视频转成文字稿做文本分析,打开transcript开关,指定 OpenAI 转写模型即可输出 txt 与 json 两种格式的转写结果。
运营人员:定时任务 + 完成通知
固定节奏的内容备份适合交给定时任务。Linux/macOS 下用 crontab:
# 每天凌晨 2 点跑增量下载,日志写入文件 0 2 * * * cd /path/to/douyin-downloader && python run.py -c config.yml >> download.log 2>&1想让任务跑完自动通知你,在配置里加上推送渠道(支持 Bark、Telegram、企业微信/飞书/钉钉 Webhook):
notifications: enabled: true on_success: true on_failure: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY - type: webhook url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx如果想把下载能力嵌入自己的系统,还可以用python run.py --serve --serve-port 8000启动 REST API 服务,通过 HTTP 接口提交下载任务并查询状态。
进阶配置速查:关键参数一览
| 配置项 | 建议取值 | 说明 |
|---|---|---|
thread | 5~10 | 并发下载数,按带宽调整,过高反而触发限速 |
retry_times | 3~5 | 失败重试次数,指数退避(1s/2s/5s) |
proxy | http://127.0.0.1:7890 | 网络受限时配置代理 |
browser_fallback.enabled | true | 翻页被限时降级到浏览器模拟 |
browser_fallback.headless | false | 非无头模式,便于人工过验证码 |
filename_template | {date}_{author}_{title}_{id} | 自定义文件命名,支持 date/author/title/id/点赞数等变量 |
folderstyle | true | 按单条作品建子目录,文件更整洁 |
start_time/end_time | YYYY-MM-DD | 按发布时间过滤,留空表示不过滤 |
increase.post/like/mix/music | true | 增量下载,只拉数据库中没有的新作品 |
database | true | 开启 SQLite 去重与下载历史 |
progress.quiet_logs | true | 静默进度阶段日志,减少刷屏 |
关于桌面版(Douzy):同一套后端还有一个桌面客户端正在内测,提供"粘贴链接即刻下载、关注列表同步、任务可视化"的图形界面。桌面版的下载、任务中心、作品档案界面如下:
命令行偏好者继续用run.py就好,两者共享同一套下载与去重逻辑。
避坑指南:四个最常见的翻车现场
问题一:下载到一半提示 Cookie 失效
Cookie 会过期,这是抖音批量下载工具最常遇到的状况。重新执行一次抓取即可:
python -m tools.cookie_fetcher --config config.yml登录后回到终端按 Enter,程序会自动把新 Cookie 写回配置。
问题二:主页只能抓到 20 条作品
这是翻页风控的典型表现,不是工具坏了。确认配置里browser_fallback.enabled: true且browser_fallback.headless: false,运行到翻页受限时会弹出浏览器,手动完成验证后再让它继续,不要急着关窗口。
问题三:下载速度上不去
先看是不是并发设置过高——thread拉到 8 以上在网络一般时反而更慢,降到 5 试试。如果本地网络本身不稳定,加大timeout并配合代理proxy通常能显著改善成功率。
问题四:想重新下载某个作品,但它一直被跳过
这是去重机制在起作用:程序用"数据库记录 + 本地文件"双重检查判断是否已下载,两者都在就会跳过。强制重下需要同时清理:删掉本地对应文件目录,再从数据库删除该条记录:
sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"只删数据库不删文件不会触发重下,反过来只删文件则会,记住这个规则就理解了它全部的"跳过"行为。
下一步行动清单
- ✅ 克隆仓库并
pip install -r requirements.txt,顺手装好 Playwright - ✅ 复制
config.example.yml为config.yml,先用一条视频链接跑通全流程 - ✅ 换成自己的博主主页链接,体验一次
post模式批量下载 - ✅ 按需开启增量下载、评论采集或通知推送,把工具纳入日常工作流
最后必须强调: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),仅供参考
