一次归档 400 条无水印视频:抖音批量下载工具 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
周五夜里十一点,你从手机里复制出第 27 个链接,手指悬在"下载"按钮上方。想把某个博主的主页作品完整存一份,逐条点击意味着每条都带水印、文件名乱码般难找,下载完还得手工整理。douyin-downloader 这个抖音批量下载工具就是为此而做:链接粘进去,它自动挑无水印源、并行拉取多个文件、按作者和日期归档成目录,你只需要按回车。
工具速览:五个能力,一张表
| 核心能力 | 它做什么 | 怎么触发 |
|---|---|---|
| 无水印单条下载 | 自动选无水印源,并从码率档位中挑最高清晰度 | 单条/video/链接或v.douyin.com短链 |
| 主页批量下载 | 按 post / like / mix / music 模式整页下载 | /user/链接 +mode配置 |
| 合集全量下载 | 整组 mix 或收藏夹合集一次拿全 | /collection/链接或collectmix模式 |
| 直播录制 | FLV 实时录制,断流、下播后已录数据保留 | live.douyin.com/{room_id} |
| 去重与增量 | SQLite + 本地文件双重检查,已存在即跳过 | increase: {post: true} |
默认参数都比较克制:并发 5 路、限流 2 请求/秒、指数退避重试(1s/2s/5s),文件经 Content-Length 校验不完整会自动清掉重下。
跑起来:3 条命令 + 1 份配置
环境要求 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最常用的"主页全量下载"场景,配置只需要这几行:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: [post] number: {post: 0} # 0 表示不限数量,全量下载 thread: 5然后python run.py -c config.yml启动。遇到需要登录的墙,跑一次python -m tools.cookie_fetcher --config config.yml,在弹出的浏览器里登录抖音,cookie 会自动写回配置。
🔍 能力深潜:三个高频场景
短链粘贴,自动解析
手机上复制来的链接往往是v.douyin.com/xxxx短链。工具会自动解析短链并判断它指向视频、图文、合集还是音乐,下载完同目录里得到无水印视频、封面、原声 mp3 和元数据 JSON,文件名按"日期_标题_aweme_id"生成,不用你再手工改名。
用户主页全量下载,一条命令
想把某位老师主页的 400 条作品全部存下来:number.post设为 0(不限数量),工具按翻页顺序抓取,5 路并发线程同时下载。文件在Downloaded/作者名/post/下按作品拆成子文件夹,按日期或标题都能直接找到,后期零整理。只要最近一个学期的内容,加一行start_time: 2025-02-01即可圈定范围。
失败任务可以单独重试
长任务难免翻车:单个任务失败会先按 1s/2s/5s 退避重试 3 次,仍失败才进入失败列表,并标注原因(如"2 个作品暂时不可用"),任务中心里可以直接对这一条发起重试。下次运行时加上increase: {post: true},磁盘上已存在的非空文件会被跳过,只补缺的——相当于盘点书架、只补没到的书,重跑一次不用把 400 条全部重新下。
⚡ 进阶 & 边界:它是怎么工作的
整条流水线像海关查验:链接解析是 X 光机,SQLite 去重是条码扫描,下载完整性校验是过磅——轻了一克的货会被退回来重验。代码层面,core/下每种内容类型对应一个独立的下载策略,storage/用 SQLite 维护"下没下过"的状态,不靠记忆靠记录。
几个需要提前知道的边界:
- 为什么只抓到 20 条左右?这是抖音翻页风控。把
browser_fallback.enabled设为 true、headless设为 false,弹出浏览器后人工完成验证即可继续(目前仅post模式完整支持)。 - cookie 过期了怎么办?重跑
python -m tools.cookie_fetcher --config config.yml刷新即可。 - 直播录完能直接看吗?FLV 源可直接播放,Ctrl+C 或主播下播后已录部分都会保留;HLS 源只保存 playlist 文件,需 ffmpeg 后处理,官方文档将其标为 experimental。
- collect / collectmix 能和 post 混用吗?不能,它们必须单独使用,且只作用于当前登录账号的收藏夹。
对一个工具来说,重要的是你能不能安心让它代劳:无水印、去重、重试、归档全部收敛进一份配置文件。克隆仓库,丢一个链接进去,按回车。
【免费下载链接】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),仅供参考