尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

douyin-downloader 抖音批量下载指南:合集、用户主页与无水印视频 3 步上手

douyin-downloader 抖音批量下载指南:合集、用户主页与无水印视频 3 步上手 douyin-downloader 抖音批量下载指南合集、用户主页与无水印视频 3 步上手【免费下载链接】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-downloaderdouyin-downloader 是一个 Python 编写的抖音批量下载工具支持单条视频、图集、合集、音乐和用户主页作品的无水印下载带进度显示、自动重试与 SQLite 去重。本文面向首次使用者与内容归档者讲清安装、最小配置与常见场景。它适合哪些场景归档创作者作品贴用户主页链接并指定mode: post按作者/作品落盘到本地配合number限制条数可以只拿指定数量也可以全量。保存完整合集给出/collection/或/mix/链接工具自动翻页拉取合集内全部作品不用逐条收藏。原声音乐与图集音乐链接优先直取音频不必从视频里抽取note/gallery 链接下载图集文件无水印。定期更新个人收藏登录后提供 favorite_collection 页链接用collect/collectmix模式增量补齐已下载收藏。抖音批量下载快速上手安装、配置、运行第一步获取源码并装依赖。需要 Python 3.8若要使用浏览器兜底见常见问题还需单独装 playwright 与 Chromium。git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt第二步准备最小配置。复制示例配置为config.yml填入链接、下载目录与 Cookie——这一步决定下什么、存到哪link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 0 # 0 表示不限条数 thread: 5 retry_times: 3 database: true cookies: msToken: YOUR_MS_TOKEN ttwid: YOUR_TTWID odin_tt: YOUR_ODIN_TT passport_csrf_token: YOUR_CSRF_TOKEN sid_guard: YOUR_SID_GUARD第三步取 Cookie 并运行。先运行自动获取脚本浏览器登录抖音后回车Cookie 会写回配置文件再启动任务终端实时显示进度与最终成功/失败计数python -m tools.cookie_fetcher --config config.yml python run.py -c config.yml跑完后在./Downloaded/下查看结果下载历史记录在dy_downloader.db。能力拆解从链接解析到文件落盘 链接解析贴什么链接都能路由core/url_parser.py 用正则识别视频、图集、合集、音乐、用户主页、直播六类链接并提取关键 idaweme_id、sec_uid、mix_id 等。你得到的是不用区分链接格式贴进去的链接会自动进入对应的下载逻辑v.douyin.com短链同样支持。上图所示为同后端桌面版 Douzy 的抖音工作台界面CLI 版功能对等。⬇️ 下载执行分页拉取、并发下载、失败自动重试以合集为例core/mix_downloader.py 先按游标翻页拉齐合集内的全部作品再提交队列并发下载。默认 5 线程请求速率限制在约 2 次/秒单条失败会按 1s、2s、5s 间隔重试 3 次。你得到的是终端里的进度条与成功/跳过/失败计数不用盯着单条网络波动。 文件落盘按作者/模式/作品名组织文件默认存到path目录结构为作者名/模式/日期_标题_aweme_id/folderstyle: true时每个作品一个独立文件夹。按需在配置里打开cover、music、avatar、json可追加保存封面、原声、头像与 JSON 元数据启用comments则为每个作品额外生成评论文件。你得到的是可直接用文件管理器浏览的本地目录树文件名自带日期与标题。️ 去重与增量重复运行不产生重复文件SQLite 记录下载历史默认dy_downloader.db程序同时扫描本地目录的文件名两者共同决定是否跳过。increase: true默认下重跑只补缺失的作品删掉某个本地文件该作品下次会重新下载。你得到的是可以放心反复执行的任务配置适合长期更新。进阶配置三个高频配置项thread与retry_times——速度换稳定。thread: 5是默认并发调高可加快批量任务但网络与账号侧压力同步上升网络不稳时降到 2~3 反而更快完成。retry_times: 3指失败后的重试次数弱网环境调到 5 更稳。video_quality——挑哪档码率。默认highest只在 bit_rate 阶梯里选最高转码档不额外发请求。改original会探测上传原片体积可能比转码档大数倍代价是每条作品多一次探测请求10 秒超时也可直接指定720p、1080p等档位匹配不到时自动降级。取舍在于归档画质还是流量与时间。increase——增量还是覆盖。按模式开关true跳过磁盘上主文件已存在的作品false在当前筛选范围内重新下载并覆盖。定期更新创作者主页时保持true想换画质整批重存时把对应模式改成false。常见问题用户主页只下载了二十条左右就停了分页触发了风控限制。确认browser_fallback.enabled: true且headless: false在弹出的浏览器窗口里手动完成验证码不要过早关闭窗口通过后翻页会继续。Cookie 过期下载全部失败怎么办重新运行python -m tools.cookie_fetcher --config config.yml再次登录后新 Cookie 会自动写回配置文件。定期用脚本刷新 Cookie比手工粘贴 Cookie 字符串更省事。想重新下载某个已下载的作品最简单的做法是直接删除本地文件目录名包含 aweme_id主文件缺失时程序会重新下载。若想整批重存把对应模式的increase设为false它会在当前筛选范围内覆盖重下。进度条刷屏日志太吵progress.quiet_logs: true是默认值会在进度阶段抑制日志输出。需要定位失败原因时加--show-warnings或-v参数临时打开警告/信息级日志即可。原理速览链路分发遵循先判类型、再取 id。解析器按主机名和路径判定链接类型用正则提取关键 id再由工厂按类型实例化对应的下载器——视频、合集、用户主页各自独立成类。合集下载按游标分页拉取作品列表每页 20 条合集目录名取自合集展示名不同合集不会混入同一目录。稳定性来自限流 退避。每个 API 请求先过限流器默认 2 次/秒另加 0~0.5 秒随机抖动避免固定频率请求失败的操作交给重试处理器按 1s、2s、5s 间隔退避重试。下载动作统一走队列按thread并发执行单条失败不会阻塞整个队列。去重与兜底是最后两道防线。SQLite 记录已下载作品的元数据配合本地文件名扫描在下载前判断是否跳过。若分页被风控限制典型表现是每页只返回 20 条工具会退回真实浏览器滚动加载页面这一步需要人工过验证码因此headless必须为false。收尾建议先用number限制条数跑一个单合集任务确认 Cookie 有效、目录结构符合预期再把数量放开为 0。 详细参数见 README.zh-CN.md架构说明见 PROJECT_SUMMARY.md交流群入口在 README 的Community Group一节。【免费下载链接】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),仅供参考
返回列表