抖音下载工具:把博主主页几百条无水印作品一次批量存进本地
【免费下载链接】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 是一个免费的 Python 抖音下载工具:粘贴视频、图文、合集或博主主页链接,就能把无水印文件批量落盘,并自动跳过已下载过的内容,支持抖音博主主页作品抓取和抖音直播录制。
从一个真实需求开始
你想完整存档一位常追的美食博主,打开主页发现已发 320 多条作品。一条条右键保存,存到第 40 条就累了,还不时遇到带水印或保存失败的。就算硬着头皮存完,三个月后再想补新内容,也得从头翻。这类"批量 + 无水印 + 不重复"的需求,正是 douyin-downloader 设计来解决的。
它到底能干哪些活
| 你想做的事 | 对应能力 | 备注 |
|---|---|---|
| 存单条视频 / 图文 | 去水印下载 | 输出 .mp4 等无水印文件,文件名带发布日期 |
| 抓博主主页全部作品 | mode: [post]批量拉取 | 按作者分目录,number.post: 0表示不限条数 |
| 只补新内容 | increase增量开关 | 已下载过的作品自动跳过 |
| 下载合集、音乐原声 | mix/music模式 | 合集可展开成单条作品 |
| 限定发布时间段 | start_time/end_time | YYYY-MM-DD,含结束日当天 |
| 导出评论内容 | comments开关 | 每个作品旁多一个*_comments.json,可含二级回复 |
| 挑画质 | video_quality | highest、original或指定分辨率 |
| 翻页被风控时兜底 | 浏览器兜底 | 见 core/user_downloader.py |
| 录直播 | live配置 | 实验性质;HLS 源只存播放列表 |
不想写配置的话,同仓库还有 Douzy 桌面版:粘贴链接后勾选作品、喜欢、合集、音乐并填数量上限即可,适合日常使用。
五分钟跑通:从安装到第一次下载
环境要求 Python 3.9+,Windows、macOS、Linux 都能跑。先把仓库拉到本地并装好依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader python -m pip install -r requirements.txt跑完后终端回到项目根目录,源码和依赖就都齐了。
抖音接口需要身份凭证,下面两条命令负责复制出配置文件并扫码登录:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml浏览器会自动弹出,你扫码登录抖音后回到终端按回车,Cookie 就写进了config.yml,不用手抄那串长文本。
最后把config.yml里示例link换成一条单条视频链接,再运行:
python run.py -c config.yml你会看到进度条逐条推进,无水印视频落到path指定的目录,文件名以发布日期开头。能走到这一步,就算正式上手了。
按目标挑配置
存档整个博主主页
想把某位博主的作品完整归档、以后只补新增,改这几行:
link: - https://www.douyin.com/user/YOUR_SEC_UID mode: [post] number: post: 0 increase: post: truepost: 0表示不限条数;下次运行只抓新增作品,已存过的自动跳过。
只抓近一年的作品
用start_time/end_time框定时间窗:
mode: [post] number: post: 50 start_time: "2025-01-01" end_time: "2025-12-31"只有窗口内的作品会被抓取,窗口外的旧内容直接忽略;文件名自带发布日期前缀,翻目录不用再看内容。
把评论连同回复一起导出
想了解真实反馈时,让工具顺手抓评论:
comments: enabled: true include_replies: true max_comments: 0每个作品旁多一个*_comments.json(实现见 core/comments_collector.py),含二级回复,可以直接导进表格做统计。录直播同理:link指向live.douyin.com的直播间,配live.max_duration_seconds: 0录到主播下播;FLV 源存成可直接播放的 .flv,HLS 源只存播放列表,需要再用 ffmpeg 合成一次(实现见 core/live_downloader.py)。
一份能直接抄的配置
把"近一年 50 个作品 + 封面 + 原声 + 元数据"合到一起,config.yml这样写:
link: - https://www.douyin.com/user/YOUR_SEC_UID path: ./Downloaded/ video: true music: true cover: true json: true mode: [post] number: post: 50 start_time: "2025-01-01" end_time: "2025-12-31" thread: 5 retry_times: 3跑python run.py -c config.yml后,目录会长这样:
Downloaded/ ├── download_manifest.jsonl ├── dy_downloader.db └── 某博主/ └── post/ └── 2025-03-02_教你做减脂餐_7345621/ ├── 2025-03-02_教你做减脂餐_7345621.mp4 ├── 2025-03-02_教你做减脂餐_7345621_cover.jpg ├── 2025-03-02_教你做减脂餐_7345621_music.mp3 └── 2025-03-02_教你做减脂餐_7345621_data.json每个作品一个子目录,装着无水印视频、封面、原声 mp3 和含标题、作者、发布时间、标签的 JSON 元数据;顶层download_manifest.jsonl每行一条下载记录,dy_downloader.db记任务历史,随时可查、随时增量。
卡住了?先看这几种情况
如果主页只抓到十几条就停了,多半是平台翻页受限触发了风控验证;保持browser_fallback.enabled: true且headless: false,在弹出的浏览器里人工过一下验证即可。
如果提示 Cookie 失效,多半是凭证过期了;重跑python -m tools.cookie_fetcher --config config.yml即可。
如果同一作品被反复下载,多半是去重链路没接通;把database和increase.post都确认打开即可。
如果下载速度偏慢,多半是默认 5 条并发线程没喂饱带宽;把thread调到 8 左右、挑网络空闲时段跑即可。
如果录下的直播打不开、只有一个播放列表文件,多半是这场推流走的是 HLS 分片;用 ffmpeg 把 .m3u8 合成 mp4 即可,FLV 源则直接存成可播放的 .flv。
下一步
建议先用一条单条视频把python run.py -c config.yml跑通,再换成本文"存档整个博主主页"的配置,隔段时间重跑一次做增量。如果 2026 年后的接口风控挡住 CLI,日常下载改换 Douzy 桌面版会更稳,它把任务、进度和本地档案都收进了界面里。下载的内容仅限个人学习研究使用,请尊重创作者版权并遵守平台规则。
【免费下载链接】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),仅供参考