抖音批量下载实操指南:去水印、主页存档、直播录制,10分钟跑通
【免费下载链接】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 是一个面向抖音批量下载的命令行工具,视频、图文、合集、音乐默认无水印输出,还能录制直播、采集评论。适合想长期存档自己或他人抖音内容的个人用户:给它一个链接加一份 YAML 配置,视频、封面、元数据就自动归档到本地,去重和续跑都内置好了。默认并发 5,失败自动重试 3 次,SQLite 记录下载历史,下次运行自动跳过已下内容。
上图是内测中的桌面端 Douzy(基于同一套后端),可作功能参考;本指南以命令行路线为主。
10分钟跑通抖音批量下载
只需要 Python 3.8+,macOS、Linux、Windows 都能跑。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml先拉代码并安装依赖,再拷一份配置模板,config.example.yml 里每个字段都有中文注释。
接下来处理登录态。抖音大量内容只对登录用户可见,Cookie 没配好请求基本都会失败,这是跑通前最关键的一步:
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml先装浏览器引擎,再执行抓取脚本,在弹窗里扫码登录,回到终端按 Enter,Cookie 自动写入 config.yml,不用手动复制。浏览器卡住时,先确认 chromium 安装命令是否执行成功。
最后启动下载:
python run.py -c config.yml模板默认带一条示例主页链接且只抓 1 条(number.post: 1)。成功标志:终端出现完成统计,且 Downloaded/ 下出现以作者名命名的目录,里面是无水印 mp4。命令行参数也能临时覆盖配置:-u追加链接、-t 8调并发,无需改文件。
抖音批量下载实战场景:主页存档、直播录制、热搜导出
抖音主页批量下载:存档一个博主
主页链接加 mode 勾选,是最典型的存档用法。
你会得到:该博主的作品和合集按Downloaded/作者/post/、Downloaded/作者/mix/分层归档,同一条作品跨模式不会下第二遍。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - mix number: post: 50 mix: 20⚠️ 最易踩的坑:收藏夹模式collect/collectmix必须单独使用,不能和上面四种混写。另外抖音风控较严,翻页可能被截断,弹出浏览器窗口时手动过完验证码再关闭。
抖音直播录制:录一整场
直播间链接填进 link 即可拉流,不用开录屏软件。
你会得到:Downloaded/作者/live/下的 FLV 录像文件,外加*_room.json房间元数据快照。主播下播、网络空闲或你 Ctrl+C,已录的字节都会保留。
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 = 录到主播下播注意:该接口被项目标注为 experimental,极端场景可能有兼容问题,重要场次建议同时人工录一份备份。
抖音热搜与搜索导出:只收数据不下文件
只要数据不要视频文件时,两条命令就够。
你会得到:Downloaded/hot_board/和Downloaded/search/下的 JSONL 快照,用 jq 或 pandas 直接筛选。
python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded这两条命令只采集元数据,不产生视频文件。--search-max默认 50,批量取样要显式给上限。
抖音批量下载配置要点
必填的只有三项:link、path、cookies,其余按需调。默认值可在 config/default_config.py 里逐项核对。
| 配置项 | 默认值 | 改了会发生什么 |
|---|---|---|
mode | [post] | 决定抓主页的哪几类内容,post/like/mix/music 可混选 |
number.post等 | 0,不限 | 每种模式的数量上限,测试期先给 1~5 |
video/cover/music/json | 仅 video 开 | 是否顺带保存视频本体、封面、原声、元数据 |
start_time/end_time | 空 | 按发布时间(YYYY-MM-DD)过滤,方便分段抓取 |
thread | 5 | 并发数,网络稳定可提到 8;一上来拉满容易触发风控 |
retry_times | 3 | 失败按 1s/2s/5s 指数退避自动重试,残文件自动清理 |
database | true | 记录写入 SQLite,配合increase构成去重双保险,下次自动跳过 |
increase.post等 | true | 磁盘上已存在的文件直接跳过,删掉文件才会重下 |
video_quality | highest | 最高转码档;original额外探测原画,每条多一次探测请求 |
browser_fallback | 开,有窗口 | 翻页被截断时自动开浏览器,有窗口才能手动过验证码 |
notifications | 关 | 完成后推 Bark/Telegram/Webhook,适合挂机跑长任务 |
踩坑与排查:现象 → 原因 → 解法
新手基本卡在这 5 处,按现象对号入座。
- 主页只抓到 20~30 条,翻页停了原因:风控截断翻页。 解法:确认
browser_fallback.enabled: true且headless: false,弹窗里手动过验证;或用start_time/end_time分段抓。 - 单条视频、合集、音乐下载报 403原因:2026-08 起抖音 Argus 风控陆续封禁这些直连接口,带不带 Cookie、重试多少次都一样。 解法:按 README 提示改用桌面端 Douzy;直播、热搜、搜索、评论接口目前仍可直连。
- 跑了一段时间后大面积失败原因:Cookie 过期。 解法:重跑
python -m tools.cookie_fetcher --config config.yml更新登录态,脚本逻辑见 tools/cookie_fetcher.py。 - 硬盘堆出重复文件,或同一条反复下原因:去重没开,或只清了一侧(文件在、库记录删了,或反之)。 解法:
database: true+increase: true双保险;想重下某一条,本地文件夹和库记录要一起删,如sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"。 - 没生成 transcript 转写文件原因:转写只对视频作品生效,图文不转写;或
enabled、API Key 没配。 解法:确认transcript.enabled: true且OPENAI_API_KEY可用。
📌 上手建议
- 先用单条链接验证 Cookie 和网络,再上主页批量——首跑目的是验凭据,不是冲量。
- 测试期把
number.post设 1~5,跑通后再放开到 0——小量试错,避免白跑一整轮。 - 不同任务分配置(config_test.yml、config_daily.yml)——参数互不干扰,出问题好定位。
- 把 Cookie 过期当周期性维护项——抓取脚本随时可重跑,耗时约 1 分钟。
- 长任务加
notifications推送——跑完手机就能收到,不用守着终端。
本项目仅用于技术学习与个人数据管理,请在合法合规的前提下使用,尊重内容版权与创作者权益。
【免费下载链接】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),仅供参考