抖音批量下载完整指南:douyin-downloader 配置、参数与常见问题
2026/9/15 18:45:22 网站建设 项目流程

抖音批量下载完整指南: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

douyin-downloader 是一个面向抖音内容的批量下载工具,支持无水印保存单视频、图集、合集与音乐,也能按作者主页抓取作品并做增量更新。它内置并发下载、失败重试、请求限速和 SQLite 历史记录,适合把喜欢的内容系统化整理到本地。本文依次介绍核心能力、上手步骤、参数说明与常见问题。

核心能力:从单条链接到整页作品

单视频、图集与音乐

把链接贴进 config.yml 的link字段,工具会自动识别类型:/video/是单视频,/note//gallery/是图集,/music/是音乐,v.douyin.com短链接也能解析,链接解析逻辑在 core/url_parser.py。视频默认取无水印的最高码率档,也可以在video_quality里选original探测原片,或直接指定1080p等分辨率。封面、音乐、头像、JSON 元数据各自独立开关,开启后随视频一并落盘。

项目另有一个基于同一后端的桌面版 Douzy(内测),粘贴链接即可开始下载,上图是它的抖音工作区界面。

合集与直播录制

/collection//mix/合集链接会按原有顺序下载全部条目,适合课程、连载类内容。直播链接live.douyin.com/{room_id}会录制为 FLV,输出到作者目录下的 live 子目录,并附带*_room.json房间快照;主播下播、网络空闲或手动中断时,已录制的部分都会保留。

主页批量下载与增量更新

粘贴/user/{sec_uid}主页链接,用mode选择抓取范围:post发布、like点赞、mix合集、music音乐;登录 Cookie 下还可单独运行collect/collectmix抓取收藏夹。number按模式限制条数,0 表示不限,多个模式可叠加运行且跨模式自动去重。

关注列表每周都有新作品,难道每次都要整页重下?开启increase增量模式后,磁盘上已有主文件的条目会被跳过,只补新作品;删掉某条视频的本地文件,它又会在下次运行时重新下载。

📁 文件组织与去重机制

输出目录结构

默认folderstyle: true,内容按“作者 → 模式 → 单作品”三层归档,作品目录名由folder_template渲染,默认为“日期_标题_id”,模板支持{author}{year}等变量。批量任务结束后,download_manifest.jsonl会汇总全部产物清单。

SQLite 历史记录

database: true时,每条下载记录写入dy_downloader.db(见 storage/database.py),供历史查询与跨运行去重参考。增量跳过以磁盘文件为准,历史记录本身不决定跳过逻辑;强制重下某条内容需要同时删除本地文件和数据库记录,具体 SQL 见 README.zh-CN.md 的“重新下载”小节。

快速上手:安装依赖、Cookie 获取与首次运行

环境准备

douyin-downloader 要求 Python 3.9+,macOS、Linux、Windows 均可。克隆仓库并安装依赖:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt

需要浏览器回退时再装 Playwright 与 Chromium:

pip install playwright python -m playwright install chromium

Cookie 获取方式

运行内置抓取脚本,终端会打开浏览器,登录抖音后回到终端按回车,Cookie 自动写回配置文件:

cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml

运行第一条下载任务

编辑 config.example.yml 中的link字段后执行:

python run.py -c config.yml

命令行参数可临时覆盖配置:-u追加链接、-t 8改并发、-p ./Downloaded指定输出目录。下载过程有实时进度条,嫌日志刷屏可保持默认的progress.quiet_logs: true

常用配置与命令行参数说明

config.yml 关键配置项

配置项默认值说明
mode["post"]抓取范围,collect/collectmix 需登录且单独使用
number.post0每模式下限,0 为全部
thread5并发下载数
retry_times3失败重试次数,指数退避间隔
video_qualityhighestoriginal / highest / lowest 或指定分辨率
start_time/end_time发布时间过滤,格式 YYYY-MM-DD
increase.posttrue增量下载,跳过磁盘已有作品
comments.enabledfalse为每条作品另存*_comments.json
browser_fallback.enabledtrue分页受限时启动浏览器辅助翻页

run.py 命令行参数

-u追加链接(可重复)、-c指定配置、-p输出目录、-t并发数、-v详细日志;--hot-board [N]导出热搜榜 JSONL,--search "关键词"按词搜索输出 JSONL,--serve --serve-port 8000以 REST API 模式运行(需另装 fastapi 与 uvicorn)。开启transcript.enabled后,视频还可调用 OpenAI 兼容接口生成文字稿。

常见问题与已知使用限制

分页风控与浏览器回退

只抓到 20 条左右时通常是分页风控所致。确认browser_fallback.enabled: trueheadless: false,在弹出的浏览器中手动完成验证,并保持窗口直到翻页结束。

Cookie 失效与强制重下

提示 Cookie 无效时重跑 cookie_fetcher 脚本刷新。强制重下:先删除作品目录(目录名含 aweme_id),再执行sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<id>';"。只删库不删文件不会触发重下,只删文件则会触发。

已知限制

浏览器回退目前仅对post模式完整验证,like/mix/music仍走 API 分页;collect/collectmix只作用于 Cookie 所属账号;直播 HLS 源仅保存播放列表,可播放文件需 ffmpeg 转封装。完整清单见 README.md 的 "Current Limitations" 小节。

✅ 开始使用的行动清单

推荐执行顺序

  1. 克隆仓库并安装 requirements.txt 依赖,需要浏览器回退时另装 Playwright
  2. 复制config.example.ymlconfig.yml,运行 cookie_fetcher 脚本获取 Cookie
  3. link贴入第一条链接,执行python run.py -c config.yml完成首次下载
  4. 按场景调整modenumbervideo_qualitystart_time/end_time
  5. 长期使用保持increase为 true,定期重跑即可只拉新作品

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询