
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 是一个开源的抖音下载命令行工具贴一条视频或图文链接拿到无水印 mp4 和封面贴一条作者主页链接可以按数量、发布时间批量抓取全部作品。它内置 SQLite 加本地文件的双重去重、2 请求/秒的全局限速、3 次重试退避和浏览器风控兜底同一批主页链接反复跑不会重复下载。本文覆盖从安装到整页入库的完整操作以及参数调优和排障。拉下第一条无水印视频装环境、取 Cookie、跑命令环境要求 Python 3.9Windows、macOS、Linux 都支持。克隆仓库、装依赖、复制配置模板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依赖里包括 aiohttp、rich、aiosqlite 这几个核心库。/video/{aweme_id}、/note/{note_id}和v.douyin.com短链都能直接贴短链会先被解析成真实链接再下载。批量抓主页需要登录态先用仓库自带的 Cookie 获取脚本 取一次。这一步会弹出一个 Chromium 窗口登录完抖音后回到终端按 EnterCookie 就写进了配置之后 Cookie 过期前不用再跑pip install playwright python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml第一条下载不用改配置文件直接在命令行追加链接python run.py -c config.yml -u https://www.douyin.com/video/7604129988555574538 -p ./Downloaded-u只追加链接不会替换配置里已有的-p指定输出目录。几秒后目录里会出现作者名/post/2024-02-07_作品标题_aweme_id/这样的子目录里面是无水印 mp4目录里的日期取的是作品发布时间而不是下载时间。默认只保存视频本体要封面、原声、元数据 JSON 就把cover、music、json改成true。批量抓作者主页mode、数量与时间过滤主页链接形如https://www.douyin.com/user/MS4wLjAB...。配置里link指向主页mode决定拉哪个列表post是发布作品like是点赞mix是合集music是音乐。同一条作品在不同模式下出现时会自动去重不会落两份文件。批量抓的典型配置如下只列需要动的字段link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50 start_time: 2024-01-01 end_time: 2024-12-31number.post默认 0 表示全量设 50 就只拉前 50 条。start_time/end_time按发布时间过滤格式YYYY-MM-DD结束日期当天包含在内。长期跟踪一个账号时保持increase.post: true默认值下次运行只补新增作品。并发、限速与画质最常调的 4 个参数下载主流程在 core/ 里并发、限速、重试都走 control/ 模块。配置项不少真正常动的是下面几个配置项默认值作用thread5并发下载数网络好调到 8普通宽带保持rate_limit2 请求/秒全局限速实际还叠加 0-0.5 秒随机抖动video_qualityhighest画质档original探测上传原片720p省流量retry_times3重试次数退避间隔固定为 1、2、5 秒画质是一个取舍original每条作品多一次探测请求超时 10 秒原片可比最高转码档大数倍存档值得highest只在码率阶梯里挑最快也最稳。想省带宽设720p档位匹配不到时自动降级到最接近的可用档。想提速就改thread别动rate_limit它是整个程序的全局限速去掉最容易撞上风控。去重与增量第二次跑为什么不重复下去重是双层的SQLite 数据库database_path默认dy_downloader.db加本地主文件非空检查。同样的配置第二次运行已下载的直接跳过。磁盘文件缺失或为空时redownload_missing_files默认true会触发补下设为false后数据库里有有效记录就继续跳过。两个开关长这样increase: post: true redownload_missing_files: trueincrease.post: false会强制重下并覆盖当前筛选范围内的作品不需要清空数据库。要强制重下某一条本地目录和dy_downloader.db里的记录两边都得清。输出目录根部还会生成download_manifest.jsonl清单每行一条作品的 JSON含aweme_id、desc、tags、文件路径等字段后续做分析直接读它就行。排障翻页风控、Cookie 过期、直播 HLS只抓到少量作品第一次批量跑大概率是抖音的翻页风控。确认下面两项后程序会自动拉起浏览器模拟滚动采集作品 ID默认最多滚 240 屏弹窗里人工过完验证再关窗口即可browser_fallback: enabled: true headless: false max_scrolls: 240请求开始报错或只能拿到很少数据Cookie 过期了重跑python -m tools.cookie_fetcher --config config.yml一分钟的事。非交互环境检测到登录态失效时不会自动弹浏览器需要手动更新config/cookies.json。直播 HLS 文件放不了直播录制是实验功能HLS 源只保存 playlist 文件要自己用 ffmpeg 后处理别依赖它做正式录制。开了 transcript 没文件转写只对视频生效图文不生成确认transcript.enabled: true且OPENAI_API_KEY有效。适用边界适合谁哪些场景要留意主版本是 CLI 驱动适合做本地存档的创作者、要批量拿作品和元数据的研究者以及只想要无水印版本的普通用户。想要纯图形界面点点就用的README 里提到的 Douzy 桌面版是独立发布上图来自它这个仓库本身不含 GUI。高频大规模采集建议三思风控和封号风险会明显上升内置的限速和退避就是为避开这个设计的。下载内容仅限个人学习、研究和数据管理用途注意版权不要二次分发。延伸资源以下文件都在仓库内按用途各取所需config.example.yml带中文注释的配置模板mode、画质、评论、通知的全部开关PROJECT_SUMMARY.md架构与落盘策略总结目录结构、清单格式、SQLite 表结构README.zh-CN.md完整功能列表、CLI 使用限制说明与快速开始core/URL 解析、下载器工厂与下载主流程源码control/限速器、重试退避、并发队列的实现【免费下载链接】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),仅供参考