
抖音批量下载实战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 十五分钟拿下了全部无水印原片。douyin-downloader 是一个抖音批量下载工具支持视频、图集、合集、音乐原声的批量下载还覆盖作者主页整页抓取、直播录制与评论采集全程带进度显示、自动重试与 SQLite 去重。一个周五下午的真实场景阿杰的烦恼不是个例。做内容的人大概率都经历过这样几件事想存某位博主的合集翻一页存一条存到一半忘了存到哪下载回来的视频带着平台水印剪辑前还得找人去水印几十个文件命名混乱混进素材库后根本找不到对应的是哪一条。douyin-downloader 的出发点是把下载这件事一次做完整。它对每个作品默认抓齐一套素材无水印视频、最高码率源、封面图、背景音乐、作者头像以及一份完整的 JSON 元数据标题、发布时间、点赞评论数、视频分辨率、音乐信息都在里面。你拿到的不是孤零零一个 mp4而是一份可以长期归档的资料。它和那些单视频下载器差在哪里网上单视频下载器很多但批量场景下它们通常撑不住。douyin-downloader 的做法是靠几个关键设计撑起整套流程去水印与选源自动挑选无水印视频源并基于video.bit_rate数组选最高码率版本视频和实况图都适用。API 优先、浏览器兜底默认走官方接口翻页速度快遇到翻页风控常见于只能抓到 20 条时自动启动浏览器让你手动过验证验证通过后继续抓取。兜底逻辑在 core/ 的下载器与策略模块里实现。双重去重SQLite 数据库记录 本地文件扫描各查一遍同一个作品换个模式作品/喜欢/合集也不会重复下载。完整性校验下载后比对 Content-Length不完整的文件自动清理并重试不会把半截视频留在目录里。失败重试指数退避重试1s、2s、5s默认限速 2 请求/秒既保证成功率也不容易触发风控。单条视频链接、图文、合集、音乐、作者主页、收藏夹、直播间这些入口它都接受链接解析还支持v.douyin.com短链自动展开。动手前装依赖、配 Cookie、建配置需要 Python 3.8Windows / macOS / Linux 都可以。先拉取代码git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader/douyin-downloader # Python 包所在目录 pip install -r requirements.txt想用浏览器兜底或希望自动获取 Cookie再补装 Playwrightpip install playwright python -m playwright install chromium抖音内容需要登录态。项目提供自动获取 Cookie 的方式运行后会自动打开浏览器引导你登录抖音登录完成回到终端按回车Cookie 自动写入配置cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml五分钟跑通第一个批量下载任务编辑config.yml把链接换成你想下载的博主主页先试 3 条link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 3 thread: 5 database: true运行python run.py -c config.yml终端会先解析链接然后逐条显示下载进度、成功与失败计数。完成后到Downloaded/目录看一眼每个作品是独立文件夹{日期}_{标题}_{作品ID}/里面是视频、封面、音乐和 JSON 元数据。桌面客户端主界面粘贴链接、检测类型、勾选要下载的内容如果你更习惯图形界面项目里还有一个内测中的桌面版粘贴链接即刻开始与命令行共用同一套下载后端。批量任务进行中进度百分比、已处理条数、每项的解析与下载状态一目了然进阶场景一把整个作者主页变成素材库对固定追踪的博主可以一次抓完整页并按自己的规则归档。四种模式可自由组合link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 发布作品 - like # 喜欢列表 - mix # 合集 - music # 音乐原声 number: post: 0 # 0 表示全量 like: 0目录组织也交给工具。命名模板支持{id} {title} {author} {date} {year} {month} {day} {time} {type} {mode}等变量folderstyle: true filename_template: {date}_{title}_{id} folder_template: {date}_{title}_{id} author_dir: nickname_uid # 昵称_sec_uid直观且唯一author_dir有三个选项纯昵称最直观但重名会合并、改名会分裂sec_uid稳定唯一nickname_uid两者兼顾重度用户推荐。切换只影响后续下载不会迁移已有目录。命名规则设置作者目录、子目录开关、文件名模板都可以按需调整进阶场景二直播开录下播自动存盘想把直播间内容录下来把链接指向直播间即可link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 一直录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30录制的文件保存在Downloaded/{作者}/live/下并附带一份*_room.json直播间元数据快照。主播下播、网络空闲或手动中断时已录制的字节都会被保留临时文件自动提升为正式文件不会白录。注意 FLV 格式可直接播放HLS 源只保存 playlist 文件需要 ffmpeg 后处理转封装。进阶场景三评论、热搜与搜索一次抓成结构化数据下载之外项目还带三个数据采集能力输出都是机器可读的 JSON/JSONL适合做内容分析和选题参考。评论采集按作品抓取可含二级回复comments: enabled: true include_replies: false # true 会多拉每条评论的二级回复请求量增加 max_comments: 500 # 0 不限 page_size: 20会在媒体文件旁生成{日期}_{标题}_{作品ID}_comments.json。热搜榜和关键词搜索用命令行直接触发无需写配置文件python run.py --hot-board 30 -p ./Downloaded # 输出./Downloaded/hot_board/20260424_221530.jsonl python run.py --search 城市夜景 --search-max 100 -p ./Downloaded # 输出./Downloaded/search/城市夜景_20260424_221530.jsonl进阶场景四增量下载加定时任务素材库自己长定期追更某位博主靠的是增量模式数据库记录上次下载到哪下次运行自动跳过已下载内容只拉新作品。database: true database_path: dy_downloader.db increase: post: true like: true配一个系统定时任务每天凌晨自动跑0 3 * * * cd /path/to/douyin-downloader/douyin-downloader python run.py -c daily.yml download.log 21下载完成还可以通过 Bark / Telegram / Webhook 推送结果到手机长任务挂着不用盯。若把服务跑成 REST API 模式python run.py --serve --serve-port 8000提交下载链接、查询任务状态都能走接口方便接进自己的自动化流程。效率实测同样 50 条作品差在哪里本地实测数据如下。测试条件100M 家用宽带、8 核台式机、thread: 5、默认限速 2 请求/秒、普通登录态 Cookie抓取一个发布 200 条作品的博主主页。实际速度受网络与平台风控影响会有浮动。环节手动操作douyin-downloader单条作品含无水印源查找、命名3-5 分钟20-40 秒作者主页 50 条作品2-3 小时8-15 分钟二次增量更新判断哪些是新发人工翻页比对 20-30 分钟1-2 分钟自动跳过文件整理归档30 分钟0模板自动完成合计约 3.5-4 小时约 15-20 分钟差别主要来自三处自动选无水印源省去二次处理、并发下载把单条串行变成 5 路并行、数据库加文件的双重去重让重复劳动归零。任务中心今日统计、历史记录、每个任务的作者与下载数量一目了然高频问题与避坑只能抓到 20 条作品怎么办这是翻页风控的典型现象。确认配置里browser_fallback.enabled: true、browser_fallback.headless: false浏览器弹窗出现后手动完成验证别急着关窗口验证通过会继续翻页。Cookie 失效了怎么处理Cookie 通常有几周到一个月有效期失效后重新运行python -m tools.cookie_fetcher --config config.yml走一遍登录即可。想重新下载某条作品程序靠数据库记录 本地文件双重判断两者都要清删掉对应作品目录再用sqlite3 dy_downloader.db DELETE FROM aweme WHERE aweme_id 作品ID;删记录。只删数据库不会触发重下本地文件里还能扫到 ID只删文件会重下。进度条反复刷屏默认progress.quiet_logs: true会在进度阶段静默日志调试时可以临时加--show-warnings或-v查看详情。下载到一半断了完整性校验会自动清理不完整文件并重试直播录制中断时已录字节会保留为正式文件。参与项目与最后提醒douyin-downloader 是 MIT 协议的开源项目遇到问题可以在项目页面的 Issues 提交 bug 或使用场景建议愿意改代码可以直接提 Pull Request文档和测试也欢迎补充。项目的功能文档在douyin-downloader/README.zh-CN.md核心下载逻辑在 core/认证与 Cookie 管理在 auth/去重与历史记录在 storage/。最后说句实在话工具负责提效怎么用是你的事。下载前想想内容是否用于个人学习、素材整理或创作参考尊重原作者的劳动别拿去侵权或商用也留意平台的使用条款。数据抓取类的功能请控制频率、理性使用。现在可以动手了——从把第一个链接粘进config.yml开始。等你跑通第一条批量任务再回头看当初手动一条条存的下午会感觉时间终于还给了自己。【免费下载链接】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),仅供参考