
抖音批量下载 300 条无水印视频手动要一整天这个工具只要一份配置【免费下载链接】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 做的事情其实很直接给它一个主页链接和一份 YAML 配置无水印视频、封面、原声、元数据会按目录结构批量落到本地已下载过的作品自动跳过。对个人学习整理、创作者给自己作品做备份这类场景来说它就是把重复劳动外包给了脚本。一句话认识 douyin-downloader一句话定位基于 Python 的命令行下载工具核心能力是拿到无水印的原始视频源自动选择无水印源而不是事后裁掉水印配上文件组织、数据库去重和自动重试。下面是它实际能处理的链接类型内容类型链接形态能拿到的内容单个视频/video/{aweme_id}或v.douyin.com短链无水印视频可附加封面、原声、JSON 元数据单个图文/note/{note_id}、/gallery/{note_id}图集文件与元数据单个合集/collection/{mix_id}、/mix/{mix_id}合集内全部作品单个音乐/music/{music_id}优先原声文件缺失时回退到该音乐下的首条作品用户主页批量/user/{sec_uid}按mode指定抓取发布作品、喜欢作品、合集或音乐直播录制实验性live.douyin.com/{room_id}录制流与直播间元数据关于直播那行要提前说明现状官方标注它是实验性能力webcast 直播接口并未覆盖所有场景录出的 FLV 可以直接播放HLS 源则只保存 playlist 文件需要 ffmpeg 后处理。日常使用建议把它当尝鲜功能而非主力方案。安装依赖与获取抖音 Cookie 的两种方式环境要求不高Python 3.8Windows、macOS、Linux 都能跑。装依赖分两步git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果打算用浏览器自动获取 Cookie、或需要翻页受限时自动兜底再补装浏览器组件pip install playwright python -m playwright install chromium然后复制一份配置模板作为起点config.example.yml 复制为config.yml即可。Cookie 是访问抖音 API 的通行证有两种拿法。推荐第一种tools/cookie_fetcher.py会直接拉起浏览器你只管扫码登录登录完成回终端按 Enter关键 Cookie 字段自动写进配置文件python -m tools.cookie_fetcher --config config.yml第二种是手动复制在浏览器里登录抖音后从开发者工具把 Cookie 字符串复制出来逐个填进config.yml的cookies段config.example.yml 里有全部字段占位。手动方式灵活但容易漏字段自动方式基本零出错能走自动就别走手动。抖音主页作品批量保存步骤给链接、改配置、运行打开config.yml批量任务只需要动几处link: - https://www.douyin.com/user/MS4wLjABxxxx path: ./Downloaded/ mode: - post number: post: 0 music: true cover: true json: true thread: 5 database: truelink放主页链接path定落盘目录mode选内容模式post为发布作品number里对应模式的数值控制条数0表示不设上限。music/cover/json三个开关决定要不要顺带保存原声、封面和元数据。配置完成后运行python run.py -c config.yml程序会先拉取作品列表再按并发下载终端里有进度条。跑完后打开path指向的目录结构长这样Downloaded/ └── 作者名/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── xxx.mp4 ├── xxx_cover.jpg ├── xxx_music.mp3 ├── xxx_data.json └── xxx_avatar.jpg作者一层、模式一层post/like/mix/music、作品一层作品目录名里带日期和 aweme_id不会重名覆盖翻起来很顺手。顺手补一句验收标准database: true时本地会生成dy_downloader.db程序靠数据库记录 本地文件双重判断哪些作品已下载同一份配置重复跑不会重复下载。时间过滤、增量更新与并发数什么需求对应什么开关进阶用法其实就集中在几个开关上按需求对号入座即可只想备份新作品increase对应模式设为true依赖database: true配合定时任务就是每天只抓新增只想要某个时间段start_time/end_time写YYYY-MM-DD抓取范围被圈死在窗口内同一主页既抓发布又抓喜欢mode里同时列post和likenumber各自控制条数跨模式遇到同一个作品自动去重调节速度thread是并发数默认 5网络稳可以上调不稳就调低内置速率限制默认 2 请求/秒retry_times控制重试次数偶发超时和频率限制由指数退避1s、2s、5s自动消化一般不用人工干预。遇到这些情况怎么办只抓到 20 条就停了这是翻页风控的典型表现。确认browser_fallback.enabled: true、headless: false浏览器弹窗出现后手动完成验证、别急着关窗口兜底目前只对post做了完整验证like/mix/music主要靠 API 正常分页。提示 Cookie 失效重新执行python -m tools.cookie_fetcher --config config.yml即可不用改别的。某条作品想强制重下去重是数据库 本地文件名双重判断只删一边都不够需要同时删掉对应作品目录和数据库里该条记录。进度条刷屏干扰阅读确认progress.quiet_logs: true调试时再临时加-v。几个高频疑问在这里一并给结论下载源本身就是无水印源成品没有平台水印必须提供有效 Cookie也就是要用自己的账号登录一次速度主要看网络和thread取值5 并发下 100 条视频大致十几分钟到半小时批量数量没有硬性上限但建议分批执行别一次把量堆到最大。功能边界与合规使用把边界说清楚免得期望落空直播录制仍是实验性功能接口未覆盖全部场景HLS 源需 ffmpeg 后处理别把它写进关键流程。收藏相关模式collect/collectmix只作用于当前 Cookie 对应的账号且必须单独使用、不能和post/like/mix/music混用也不支持增量截断。下载内容仅限个人学习与个人数据管理商业用途和二次传播都涉及版权动手前想清楚用途。控制节奏并发保持温和避免短时间大量抓取不下载、不传播他人隐私内容接口策略或平台规则变化导致功能失效属于这类工具的正常技术风险。一句话总结把链接和配置交给 douyin-downloader把时间留给内容本身。克隆仓库pip install -r requirements.txt装好依赖运行python -m tools.cookie_fetcher --config config.yml拿 Cookie填好config.yml后python run.py -c config.yml验收Downloaded/目录结构。【免费下载链接】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),仅供参考