抖音无水印批量下载工具 douyin-downloader:把整个主页作品搬进本地硬盘 📅 发布时间:2026/9/17 17:08:47 👁 浏览次数: 抖音无水印批量下载工具 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想把某个作者的全部作品留一份到本地靠 App 手动保存一条带水印、没有原声和封面存到几十条文件就乱成一团。douyin-downloader 是开源的 Python 抖音无水印批量下载工具贴进主页链接、写清下载模式与数量它会并发抓取作品、挑选无水印高码率视频源并把每次下载记进本地 SQLite 数据库。下文的安装、Cookie、配置与各类任务的取用方式均按仓库当前状态编写。 工具速览一个 CLI 批量下载器douyin-downloader 是用 YAML 配置文件驱动的命令行工具入口 run.pyPython 3.8支持 macOS / Linux / Windows。它擅长批量场景用户主页作品post、点赞like、合集mix、音乐music四种主页模式当前登录账号的收藏夹collect / collectmix外加直播录制、评论采集、热搜榜与关键词搜索底层带并发队列、速率限制默认 2 请求/秒、指数退避重试、SQLite 去重、下载完整性校验和浏览器兜底还能以 REST API 服务方式运行或用 Docker 部署。要说明的是它的边界2026 年 8 月起抖音 Argus 风控门禁陆续拦截非浏览器直连请求点赞 / 收藏夹类2026-08 起与单个视频 / 图文、合集、音乐2026-09 起在 CLI 中已无法直连下载主页作品post的 API 翻页同样被拒只能靠浏览器兜底读取页面自己发出的请求。基于同一后端打造的桌面版 Douzy 通过内置登录窗口代发这些请求不受该门禁影响。⚡ 比手动保存强在哪无水印且画质可控自动选择无水印视频源下载时从接口返回的 bit_rate 码率数组里挑最高档video_quality: original还能额外探测上传原片探测失败退回最高转码档。批量与增量一体modenumber控制下载范围number.post: 0表示全量数据库记录与本地文件名双重检查重跑任务只拉新增作品。资源按需完整保存除视频本体外原声音乐、封面、作者头像、作品原始 JSON 各有独立开关只存想要的部分。下载过程有兜底失败按 1s / 2s / 5s 指数退避重试默认 3 次完成后比对 Content-Length不完整文件自动清理并重下相当于自带断点续传。落盘即可检索每条作品在download_manifest.jsonl记一行含标签、文件列表配合 SQLite 历史表随时可查可重新下载。 从安装到跑通第一个视频三步走完就能出第一个文件。第一步装环境。准备 Python 3.8克隆仓库并安装依赖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。第二步取 Cookie。抖音接口需要有效 Cookie推荐自动方式复制示例配置运行取 Cookie 脚本浏览器登录后回到终端按 Enter值会自动写进配置cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.ymlCookie 只保存在本地配置文件里。也可以手动打开浏览器开发者工具把 ttwid、odin_tt 等值贴进config.yml的 cookies 字段。第三步最小配置并跑起来。由于单条视频直连接口目前被风控拦截首次验证建议用主页链接 post 模式、限量 1 条走完整流程link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 1 path: ./Downloaded/python run.py -c config.yml成功后在Downloaded/{作者名}/post/下能看到以发布日期命名的作品目录。把number.post调大就能开始真正的批量下载。 按任务来配置只改这一处所有任务都改同一份 config.example.yml 风格的配置区别只在几个键。单条作品贴链接程序自己认类型link里放作品地址即可/video/、/note/、/gallery/、/collection/、/music/五类路径和v.douyin.com短链都会自动解析。注意现状2026-09-14 起这些详情接口在 CLI 直连会返回 403如果单条下载是高频需求建议走桌面版 Douzy。整个主页改两行配置mode: [post]表示拉作者发布的作品可混写like/mix/music同时下载多类跨模式按 aweme_id 自动去重number.post: 0为全量。默认不下载置顶作品需要时把download_pinned改为 true。当前登录账号自己的收藏夹用link: - https://www.douyin.com/user/self?showTabfavorite_collection配mode: [collect]下载collect / collectmix 必须单独使用不能与 post 等混用。只要原声和封面关视频、开两个开关把video设为 false再打开music与cover任务就只落盘原声音乐和封面图不下载视频文件本身。直播录制贴房间号就开始录link指向https://live.douyin.com/{房间号}也支持/follow/live/{房间号}即进入录制live.max_duration_seconds: 3600限定录 1 小时0 表示录到主播下播。FLV 可直接播放HLS 源保存 playlist 文件主播下播、网络空闲或 CtrlC 中断时已录字节都会保留.tmp 自动提升为正式文件文件落在Downloaded/{作者}/live/并附直播间元数据 JSON。webcast 接口未覆盖所有场景官方标注为实验性。热搜榜与关键词搜索两条命令出 JSONL不经过配置文件也能跑python run.py --hot-board 30 -p ./Downloaded导出热搜榜快照到Downloaded/hot_board/下的 JSONL 文件python run.py --search 猫咪 --search-max 100 -p ./Downloaded按关键词拉作品列表到Downloaded/search/。这两个接口目前仍可直连。⚙️ 几个让下载更省心的开关只抓指定时间段start_time与end_time格式 YYYY-MM-DD按作品发布时间过滤只落窗口内的作品主页全量任务配合它们可以按季度归档。已下的不再下database: true加上increase.post: true程序按数据库记录 本地文件双重判定跳过已下载作品二次运行只补新增确认要重下时删除对应作品目录或数据库记录即可。目录结构随你定folderstyle: true按作品建子目录filename_template/folder_template支持{id}{title}{author}{date}{year}等变量模板必须含{id}防重名覆盖多个作者容易重名时把author_dir改成nickname_uid目录按昵称_sec_uid命名稳定不合并。画质档video_quality除默认的 highest 外可选 original 原画探测或 1080p / 720p 等指定分辨率匹配不到自动降级到最接近的可用档。 排错四个高频故障故障 1症状主页任务只抓到约 20 条就停翻页断档。原因API 分页命中抖音风控。对策确认browser_fallback.enabled: true且headless: false需先装 playwright浏览器弹窗出现后手动完成验证别急着关窗。故障 2症状请求返回 403提示 Blocked by ArgusSecurityPlugin Uifid Not Found。原因抖音边缘风控对作品详情、主页、合集、音乐、点赞 / 收藏等接口的非浏览器请求一律拒绝带不带 Cookie、重试多少次都一样。对策主页作品保持浏览器兜底开启单条视频 / 图文 / 合集 / 音乐 / 点赞 / 收藏类需求改用桌面版 Douzy它由内置登录窗口签发请求。故障 3症状提示未登录或请求全部失效。原因Cookie 过期有效期一般 7–15 天。对策重跑python -m tools.cookie_fetcher --config config.yml建议每周固定更新一次。故障 4症状下载慢、中断或留下不完整的文件。原因网络抖动或并发过高。对策程序本身会指数退避重试并做完整性校验、自动清理半成品仍不稳定就调低thread默认 5或填一个proxy让请求走代理。️ 从下载到管理进阶选项这些功能都不影响主流程按需开启即可。下载历史查询SQLite 库的aweme表记录每条作品的作者、标题、下载时间一句sqlite3 dy_downloader.db SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;就能回看最近记录。作品档案download_manifest.jsonl逐条落盘标签与文件列表桌面版的作品档案页在此基础上提供筛选、备注与一键重下。元数据json: true在媒体文件旁保存作品原始 JSON点赞、评论、话题标签都在里面。REST API 服务模式装好fastapi uvicorn后python run.py --serve --serve-port 8000POST /api/v1/download 提交{url: ...}拿 job_idGET /api/v1/jobs/{job_id} 查状态适合接进自动化流水线。完成通知notifications.enabled: true后在 providers 里配 bark / telegram / webhook成功与失败都会推送单个渠道失败不阻塞主流程。语音转写transcript.enabled: true并设置OPENAI_API_KEY视频作品会额外生成.transcript.txt/.transcript.json图文不转写。评论采集comments.enabled: true在文件旁生成*_comments.jsoninclude_replies: true再多拉每条评论的二级回复。 版本怎么选以及使用的边界命令行版适合自动化与服务器场景YAML 配置 命令行参数可以 Docker 部署、REST 服务化、接进 cron 或 CI参数颗粒度最细代价是风控门禁下多数直连接口不可用主页任务依赖浏览器兜底。桌面版 Douzy内测中适合日常使用图形化工作台粘贴链接即可下载内置登录窗口代发请求、不受门禁影响还带关注列表同步标记新作品、任务中心、作品档案等管理页从项目 Releases 页面下载安装。合规边界要说清楚项目定位是技术研究、学习交流与个人数据管理下载内容请用于个人学习、研究或备份尊重创作者劳动成果不侵犯他人隐私、版权或其他合法权益不用于任何违法违规用途因平台接口策略变更导致功能失效属于正常技术风险使用者自行承担相关责任。详见 README 中文 的免责声明。下一步先用number.post: 1的最小配置跑通一次确认 Cookie 与浏览器兜底链路没问题。把number调大确认database与increase.post都是 true跑完一轮后再跑一次同样配置验证全部跳过、只补新增。按季度给主页任务配上start_time/end_time配合下载历史查询定期归档。下一件要做的事很具体打开终端把config.example.yml复制为config.yml然后敲下python run.py -c 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),仅供参考