
5 步跑通 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-downloaderdouyin-downloader 是一个用 Python 写的命令行下载工具把链接识别、无水印源选择、文件落盘打包成一条命令。它覆盖视频、图文、合集、音乐四类内容单条链接和作者主页批量拉取走同一套配置。下面按 5 个阶段推进每阶段都以可验证的产物收尾。阶段一跑通最小配置拿到第一条下载文件做完这一步你会得到 Downloaded/ 下第一个完整的无水印 mp4 文件和一份可长期使用的 config.yml。先获取项目并装好依赖git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt把仓库自带的模板复制成自己的配置cp config.example.yml config.yml往 config.yml 里写最小配置这一步只需要链接和输出目录link: - https://www.douyin.com/video/7604129988555574538 # 任意单条视频链接 path: ./Downloaded/ # 输出目录回车等它跑完python run.py -c config.yml跑完检查 Downloaded/会出现一个以「日期_标题_ID」命名的子文件夹里面就是无水印 mp4。进度条会显示当前处理到第几个、每个子任务走到哪一步。链接是图文时保存为图片组同样是每个作品一个独立子文件夹视频、图文、合集的类型都由链接路径自动识别不用手动切换。v.douyin.com 分享的短链不用手动展开工具会自动跟随解析后下载。如果要抓收藏夹或点赞列表需要先把 Cookie 写进配置它只保存在本地文件不会上传到任何服务器。命令会打开浏览器引导登录回到终端按回车即可python -m tools.cookie_fetcher --config config.yml阶段二批量拉取作者主页作品做完这一步你会得到某个作者名下的一整批作品目录每个作品一个子文件夹外加一个随时可开的增量开关。上一阶段产出了一条 mp4 和一份验证过的 config.yml这阶段用它做批量拉取只把链接换成作者主页。把配置换成这样link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx # 目标作者主页 mode: - post # post作品 / like点赞 / mix合集 / music音乐 number: post: 50 # 0 全部抓取 thread: 5 # 并发下载数模式拉取内容post作者发布的作品like作者点赞过的作品mix作者名下的全部合集music作者使用的原声优先原声文件link 里可以填多个作者主页每行一个按顺序依次跑完。mode 也可以同时列多个同一个作品跨模式不会重复下载。运行python run.py -c config.yml进度条会显示每个任务的状态。要让下一次运行不重复下载打开增量开关increase: post: true # 只抓上次之后新发布的作品这个开关配合系统的定时计划挂载每周自动跑一次就能实现内容的持续更新。阶段三处理断网、重复与限流三类翻车做完这一步你会得到一套让任务跑一整晚也不会留下坏文件、重复内容和一堆报错的机制。上一阶段产出了一个作者的一整批作品这阶段用它做异常校验断网、重复提交、平台限流三种情况下分别会发生什么。翻车场景工具的应对网络中断导致文件残缺下载完成后用 Content-Length 比对文件大小不完整的自动清理并重试同一个作品下载两遍SQLite 数据库 本地文件名双重去重重复提交直接跳过API 分页被平台限制自动切换浏览器模拟翻页弹窗后可手动过验证码⚠️ 浏览器兜底目前只对post做了完整验证like/mix/music主要依赖 API 正常分页。如果一次只能抓到 20 条作品检查配置里这两项browser_fallback: enabled: true # 翻页受限时启用浏览器兜底 headless: false # 窗口保持可见方便手动过验证码重试和限速也都在配置里retry_times: 3按指数退避重试rate_limit: 2把请求压在每秒 2 次降低触发风控的概率。残缺文件会被自动清理不需要手动删除后重跑。阶段四归档与检索命名规则与元数据落库做完这一步你会得到一份命名统一的本地档案所有作品都写进 dy_downloader.db可按作者、标题、时间筛选。上一阶段产出了稳定的文件产出链路这阶段用这些产出搭一套可按条件检索的本地档案。默认配置下每个作品单独建一个文件夹结构类似这样Downloaded/ └── 创作者昵称/ └── post/ └── 2024-06-15_舞蹈教学_7412345678901234567/ ├── 2024-06-15_舞蹈教学_7412345678901234567.mp4 # 无水印视频 ├── ..._cover.jpg # 封面 ├── ..._music.mp3 # 原声音乐 └── ..._data.json # 完整元数据想改文件名格式用模板变量拼接filename_template: {date}_{title}_{id} # 还可用 {author}{year}{month}{type}{mode} cover: true # 顺带保存封面 music: true # 顺带保存原声音乐 json: true # 顺带保存元数据 JSON时间过滤同样可用start_time与end_time接受YYYY-MM-DD格式只拉取区间内的作品。每次下载都会落一条数据库记录查最近 20 条sqlite3 dy_downloader.db SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;要重新下载某个特定作品需要本地文件夹和数据库记录都删掉只删其中一边不会触发重下官方 README 里给出了现成的删除命令。阶段五组合进阶接入转写、评论与 REST API做完这一步你会得到随媒体文件一起产出的转写文本和评论 JSON下载能力还能通过 HTTP 接口被你的自动化流程调用。上一阶段产出了可检索的档案这阶段用它做内容增强给档案接上转写、评论采集并把下载能力暴露成服务。视频转写只对视频作品生效图文不会生成转写。设置好环境变量OPENAI_API_KEY后打开开关transcript: enabled: true model: gpt-4o-mini-transcribe response_formats: [txt, json]评论采集会在媒体文件旁生成*_comments.jsoncomments: enabled: true include_replies: false # 设为 true 会多拉每条评论的二级回复 max_comments: 500只想要数据不想要媒体时--hot-board 30和--search 关键词会直接导出 JSONL 快照不走下载流程。转写与评论任务随下载并发执行单个失败不阻塞主流程。想把下载能力接进自己的自动化pip install fastapi uvicorn python run.py --serve --serve-port 8000服务起来后向POST /api/v1/download提交{url: ...}即可拿到 job_id再经GET /api/v1/jobs/{job_id}查状态下载完成还能通过notifications配置推送到 Bark 或 Telegram跑批任务不用盯着终端。到这里五个阶段全部完成装依赖、填配置、贴链接剩下的解析、去重、重试、归档都交给工具。完整配置字段与常见问题见 README.zh-CN.md命名变量白名单在 utils/naming.py。最后一句提醒本工具用于个人学习、研究与备份请尊重内容创作者的劳动成果不要用于商业用途。【免费下载链接】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),仅供参考