如何使用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 并验证环境
- 获取 Cookie:两种方式
- 写一份最小配置,跑通第一次批量下载
- 常用进阶配置:增量、画质与时间过滤
- 三个真实使用场景
- 常见问题与排查
- 仓库进阶资料
抖音链接下载工作区:输入单条视频链接后自动识别类型,点击「下载」即开始
安装 douyin-downloader 并验证环境
这一步的目标是拿到可运行的代码并装好依赖。你只需要 Python 3.8 以上,操作系统不限。
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt看到Successfully installed提示即表示依赖就绪。接下来复制一份带注释的示例配置作为你的工作配置:
cp config.example.yml config.yml文件出现在当前目录即完成。后面所有步骤都围绕修改config.yml展开。
🍪 获取 Cookie:两种方式
Cookie是浏览器登录抖音后产生的一串凭据,工具靠它通过接口校验。没有有效 Cookie,批量采集主页作品时会大量报错。
方式一:浏览器自动抓取(推荐)。自动抓取依赖 Playwright,先装一次:
pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml运行后会弹出一个浏览器窗口,扫码或输入账号登录抖音,然后回到终端按回车。Cookie 会被自动写进config.yml的cookies字段,终端输出成功提示即完成。
方式二:手动复制。如果你不想装 Playwright,就在自己的浏览器里登录抖音,打开开发者工具复制 Cookie,粘贴进config.yml的cookies区块(msToken、ttwid、odin_tt、passport_csrf_token是必需项)。保存后直接跳到下一步。
写一份最小配置,跑通第一次批量下载
这一步能得到一个完整可复现的主页批量下载任务。把config.yml改成下面的内容,只保留关键字段:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: [post] number: post: 50 thread: 5 retry_times: 3 database: true字段含义:
link:下载链接列表,换成你的主页链接(/user/{sec_uid}格式)path:文件保存目录mode: [post]:采集"发布作品",换成like/mix/music则采点赞、合集、音乐number.post: 50:本次下载 50 条,写0表示不限数量全量抓取thread: 5:并发线程数;retry_times: 3:单条失败自动重试 3 次database: true:开启 SQLite 历史记录,路径为dy_downloader.db
然后运行:
python run.py -c config.yml运行后你会先看到作品总数,随后是逐条滚动的实时进度条。全部结束后打印成功、失败、跳过数量与总用时。文件按Downloaded/作者名/post/日期_标题_id/组织,同一文件夹里放无水印视频、_cover.jpg封面、_music.mp3原声和_data.json元数据;根目录还多一份download_manifest.jsonl下载清单。
任务中心:每条批量任务显示成功/失败计数,失败项可直接重试,对应 CLI 模式下结尾的成功/失败统计
只下单条视频时更简单,link换成/video/{aweme_id}链接即可,短链v.douyin.com/...也能直接解析;命令行也可以临时追加:python run.py -c config.yml -u "https://www.douyin.com/video/xxx"。
常用进阶配置:增量、画质与时间过滤
这一章的配置都只改config.yml一个文件,改完直接重跑python run.py -c config.yml生效。
增量下载(只拉新发布的作品)。这是"重复跑同一任务不重复下载"的核心开关:
increase: post: true database: trueincrease.post: true时,磁盘上已存在主媒体文件的旧作品会直接标记跳过,只有新发布的作品会被下载;删掉某个视频文件,下次运行会补回。database保持true,历史记录可查、去重更稳。
画质选择。video_quality支持original(探测上传原片,比转码档可能大数倍)、highest(默认,最高转码档)、lowest,也可直接写1080p、720p等分辨率,匹配不到自动降级到最接近的可用档。
时间过滤。start_time/end_time按YYYY-MM-DD格式限定作品发布时间区间,只抓某段时间内发布的内容。
只要视频本体。video保持true,把music、cover、avatar、json都设为false,目录里就只有 mp4 文件。
批量导出搜索数据(不下载媒体)。两个命令行参数适合先圈定素材再决定下载哪些:
python run.py --hot-board 30 -p ./Downloaded python run.py --search "关键词" --search-max 100 -p ./Downloaded前者抓热榜、后者按关键词搜视频,结果都写成 JSONL 文件落在指定目录,方便筛选后再把选中的链接写进link。
三个真实使用场景
批量采集创作者主页作品 📁
做账号运营时,把多个主页链接都写进link列表,mode: [post]配thread: 5。一次运行会遍历所有创作者的全部作品(number.post: 0),按创作者分目录归档,进度逐条可见。多个模式也可同时开:mode: [post, like, mix, music],跨模式自动去重,同一个作品不会下两遍。
⏰ 定时增量更新素材目录
持续跟踪固定创作者时,把上一节的increase.post: true配好,用 crontab 每天定时执行python run.py -c config.yml。重复运行只会拉取新发布的作品,旧文件在进度里显示为跳过,无需人工清理。
🎥 直播流录制
把link换成直播间地址(live.douyin.com/{room_id})并开启录制参数:
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600max_duration_seconds: 0表示一直录到主播下播。录到的 FLV 文件和*_room.json房间元数据存在Downloaded/作者名/live/下;主播下播、网络空闲或按 Ctrl+C 中断时,已录到的部分都会保留。该功能标记为实验性,个别直播场景可能不稳定。
常见问题与排查
现象:请求大量报错或提示未登录 →可能原因:Cookie 过期是最常见原因 →解决动作:重新运行python -m tools.cookie_fetcher --config config.yml更新 Cookie 后重试。
现象:批量采集只拿到 20 条左右就停了 →可能原因:翻页触发了风控限流 →解决动作:确认browser_fallback.enabled: true且headless: false,浏览器弹窗中手动完成验证码,不要过早关闭窗口,工具会用浏览器翻页继续采集。
现象:重复运行没有跳过旧文件,全量重下 →可能原因:增量开关或数据库被关闭 →解决动作:检查increase.post是否为true、database是否为true;增量判断以磁盘文件为准,删文件即重下,删库保文件则不会重下。
现象:进度输出重复刷屏,干扰阅读 →可能原因:日志未静默 →解决动作:保持progress.quiet_logs: true;调试时用-v临时打开完整日志,加--show-warnings可看到告警与错误。
仓库进阶资料
- config.example.yml:带注释的完整配置样例,字段含义以它为准
- README.md:全部功能清单、命令行参数表和官方 FAQ
- PROJECT_SUMMARY.md:实现架构与文件落盘策略说明
- core/:下载主流程、URL 解析与 API 客户端源码
下一步建议:定期执行git pull更新仓库,再对照 README 的"Typical Scenarios"一节把你没试过的模式(like、mix、collect)各跑一次,把整套素材目录用起来。
【免费下载链接】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),仅供参考