如何用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 去重和浏览器兜底。适合自媒体运营者、内容创作者以及想备份抖音内容的普通用户。
功能速览
| 功能 | 一句话说明 |
|---|---|
| 无水印视频下载 | 自动选择无水印源,并从多档码率中挑选最高清晰度 |
| 主页批量下载 | mode支持 post/like/mix/music,另支持当前账号收藏夹 |
| 去重与增量 | SQLite 数据库 + 本地文件双重去重,增量下载只抓新作品 |
| 浏览器兜底 | API 翻页受限时自动启动浏览器,可人工过验证码 |
| 附加能力 | 评论采集、热搜榜/关键词搜索导出、直播录制、完成通知 |
基于同一套后端的桌面版(内测中)支持粘贴抖音链接一键开始下载:
快速上手
安装步骤
需要 Python 3.9 以上环境,克隆仓库并安装依赖:
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 chromiumCookie 配置说明
抖音需要登录态才能获取资源。先复制配置模板,再运行 Cookie 采集工具:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml程序会打开浏览器,登录抖音后回到终端按 Enter,Cookie 会自动写入 config.yml。这一步只需做一次,登录态过期后重跑同一条命令即可更新。
首次运行
把 config.yml 里的link改成一条抖音作品链接(首次建议保留number.post: 1小步试跑),然后执行:
python run.py -c config.yml完成后会在Downloaded/下生成以作者名命名的目录,作品默认按“日期_标题_aweme_id”建子目录存放。✅
核心功能详解
主页批量下载:mode 配置说明
link指向作者主页(https://www.douyin.com/user/xxx),用mode指定下载范围:post作品、like点赞、mix合集、music原声。number限制各模式数量,0表示不限:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - music number: post: 50 music: 0也可以在命令行直接追加链接和并发数,不改配置文件:
python run.py -c config.yml -u "https://www.douyin.com/video/7604129988555574538" -t 8 -p ./Downloaded下载自己账号的收藏时,link用/user/self?showTab=favorite_collection,mode设为collect(收藏合集用collectmix)。注意该模式只能单独使用,不能与 post/like/mix/music 混用。
增量下载与去重配置
database: true时,程序会把每条已下载作品记录到dy_downloader.db,并扫描本地文件名中的 aweme_id 做双重去重。开启increase开关后,重复执行任务只拉取新作品:
increase: post: true database: true首次全量抓取用number.post: 0即可。需要重新下载某条作品时,本地文件和数据库记录要同时删除,只删其中一项不会触发重下。
画质与附加文件配置
video_quality决定从 API 返回的多档码率中选哪一档:original探测上传原片(每条作品多一次探测请求)、highest最高转码档(默认)、lowest省流量,也可指定1080p、720p等分辨率,匹配不到时自动降级到最接近档位。video/music/cover/avatar/json五个开关控制是否保存视频本体、伴随音乐、封面、头像和作品元数据,默认只开video:
video_quality: highest music: true # 同时保存伴随音乐 mp3 cover: true # 同时保存封面 json: true # 同时保存作品元数据 JSON浏览器兜底配置
当 API 翻页被限制时(常见现象是只能抓到前 20 条),程序会自动启动浏览器、模拟滚动继续翻页。保持enabled: true和headless: false,浏览器弹出后手动完成验证,不要立即关闭窗口。该兜底目前仅对post模式做了完整验证,like/mix/music 主要依赖 API 正常分页。
实战案例演示
案例一:批量下载某作者最近 50 条作品
适合给某个博主做资料归档。mode: post加number.post: 50限定数量,打开json和cover连元数据与封面一起保存。文件默认落在作者名/post/下按作品分目录,后续查找方便:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50 json: true cover: true path: ./Downloaded/案例二:收集作者原声
mode: music可抓取该作者作品下的原声文件,number.music: 0表示不限数量。也可以把link直接指向单条音乐链接https://www.douyin.com/music/{music_id},程序优先取原声文件,缺失时回退到该音乐下的首条作品:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - music number: music: 0案例三:关键词搜索作品并导出
无需改配置,直接用命令行参数按关键词搜索作品,结果存为 JSONL 文件,方便导入其他工具做二次处理:
python run.py --search "猫咪" --search-max 100 -p ./Downloaded文件保存在下载目录的search/下。只想看热门内容的话,改用python run.py --hot-board 30导出热搜榜快照。🎬
出问题时的自检
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 只能抓到约 20 条作品 | API 翻页触发风控 | 确认browser_fallback.enabled: true、headless: false,在浏览器弹窗中手动完成验证,不要立即关窗 |
| 提示未登录、下载失败 | Cookie 过期 | 重跑python -m tools.cookie_fetcher --config config.yml更新登录态 |
| 进度条大量刷日志 | 调试日志被打开 | 保持progress.quiet_logs: true,仅在调试时加--show-warnings或-v |
| 没有生成 transcript 转写文件 | 开关未开或密钥无效 | 检查transcript.enabled、下载的是否为视频(图文不转写)、OPENAI_API_KEY是否有效 |
桌面版的任务中心同样能按任务查看成功/失败明细并重试失败项:
使用建议
- 仅限个人学习、研究和个人数据备份用途,不要将下载内容用于违反平台条款或侵犯他人版权的场景
- 保持默认
rate_limit: 2(2 请求/秒),thread并发建议 3-5,降低触发风控的概率 - 不要外传自己的 Cookie 和 config.yml,登录态等同账号凭证
- 直播录制属实验性功能:FLV 可直接播放,HLS 源只保存 playlist 文件,需 ffmpeg 后处理
以上就是从安装 douyin-downloader、获取 Cookie 到完成首次批量下载的全过程。更多配置项可查阅中文文档 README.zh-CN.md 和完整配置样例 config.example.yml,核心下载逻辑见 core/ 与 storage/ 源码目录。若因平台接口策略变更导致功能失效,属于正常技术风险,保持仓库版本更新即可。🎵
【免费下载链接】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),仅供参考