news 2026/9/24 16:50:03

douyin-downloader:一个命令免费把博主主页整体存到本地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
douyin-downloader:一个命令免费把博主主页整体存到本地

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

刷到一条 3 分钟的手作教程,想存下来当素材,划走就找不回来了;就算存进相册,水印还在,文件名还是一串数字。douyin-downloader 是一款开源免费的抖音无水印下载工具:粘个链接能下单条,给个创作者主页能批量搬回作品,内置去重和断点续传。从零开始跑通第一次无水印下载,还会覆盖整页备份、直播录制和评论采集。

半小时跑通:从安装到首次运行

前提是电脑装有 Python 3.8 及以上版本。先把代码克隆下来装好依赖,顺手把浏览器内核装上,后面接口遇到风控时会用它做浏览器兜底:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader cp config.example.yml config.yml pip install -r requirements.txt pip install playwright && python -m playwright install chromium

成功的标志:终端没有红色报错,目录里多出一个config.yml。安装慢或报网络错误时,给 pip 命令加-i https://pypi.tuna.tsinghua.edu.cn/simple临时换国内镜像源。

接下来拿登录凭证。抖音不登录拿不到完整内容,但凭证不用你手动找,跑一条命令就行:

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

浏览器会自动弹出来,用手机扫码登录一次抖音,回到终端按回车,凭证(Cookie,登录凭证,扫码一次即写入本地)就存进配置文件里了,只保存在你自己机器上,具体抓取逻辑在 tools/cookie_fetcher.py 里可以看到。

⚠️ 凭证有效期有限,过期后重跑上面这条命令扫一次码即可,其余配置一律不用动。

然后打开config.yml,把示例link换成一条你想下载的视频链接,其余保持默认,最小可运行片段长这样:

link: - https://v.douyin.com/EXAMPLE123/ path: ./Downloaded/ # 保存目录 music: true # 顺带下背景音乐 cover: true # 顺带下封面图 json: true # 保存作品元数据

最后运行:

python run.py -c config.yml

几秒后终端里进度条走完、打印成功统计,打开Downloaded/目录,第一个无水印视频已经躺在里面,旁边是封面和data.json。所有字段的完整含义都能翻 config.example.yml 查。

不想碰命令行的话,同一套后端还有桌面版,粘个链接就能发起任务:

按任务来:从一条视频到整个主页

保存单条视频或图文笔记

把 App 分享出来的v.douyin.com/xxx短链直接贴进来就行,不用手动转长链,工具会自动解析。甚至不用改配置文件,用-u参数把链接追加到本次运行:

python run.py -c config.yml -u "https://v.douyin.com/xxxx/"

跑完之后你手里多的是:

Downloaded/ └── 2024-02-07_教程标题_aweme_id/ ├── 2024-02-07_教程标题_aweme_id.mp4 # 无水印视频 ├── 2024-02-07_教程标题_aweme_id_cover.jpg └── 2024-02-07_教程标题_aweme_id_data.json

mp4是主体,封面和 JSON 分别在coverjson开启时出现。单合集、单音乐也是同一套路:把合集或原声链接贴进去,整组抓取,音乐优先拿原声文件。

整页备份一个创作者主页

想把一个创作者的作品整体搬回本地,把链接换成创作者主页、指定模式即可。post是发布的作品,like是他点赞的,mix是合集,music是用过的音乐:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50 # 只下最近 50 个,0 表示全部 increase: post: true # 跳过已下载过的作品

跑完之后你手里多的是:作品按作者归档,一个作品一个文件夹,视频、封面、BGM、元数据整整齐齐:

Downloaded/ ├── download_manifest.jsonl └── 创作者昵称/ └── post/ └── 2024-02-07_作品标题_aweme_id/ ├── 2024-02-07_作品标题_aweme_id.mp4 ├── 2024-02-07_作品标题_aweme_id_cover.jpg ├── 2024-02-07_作品标题_aweme_id_music.mp3 └── 2024-02-07_作品标题_aweme_id_data.json

顶层的download_manifest.jsonl是下载清单,每个作品一行 JSON,记录下载状态,方便后续核对。去重发生在两层:跨模式重叠的作品不会下第二遍;increase配合本地 SQLite 小数据库(记录作品 ID)让重跑同一创作者时自动跳过已有作品。登录状态下还能用collect/collectmix把自己账号的收藏夹整体搬走。只想按时间截取一段的话:

start_time: "2024-06-01" end_time: "2024-06-30"

文件名不是写死的,filename_templatefolder_template里可以用{date}{title}{id}{author}{year}{month}{day}等变量自由组合,但模板里必须包含{id}防止重名覆盖。各模式的具体抓取策略实现在 core/user_modes/ 目录里,想改行为可以从这里下手。

直播回放录制与断点续传

想留住主播的直播回放,但人没法全程守在屏幕前:把直播间链接交给工具,它替你挂机录着。

link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 = 一直录到主播下播

跑完之后你手里多的是:录像存在Downloaded/{作者}/live/下,旁边附带一份*_room.json直播间元数据快照。主播下播、断网或者你按 Ctrl+C 中断,已录制的部分都会保留,不浪费。

批量任务里的断点续传是同一套机制:内置完整性校验,文件不完整会自动清理重取,再次运行同一命令只补缺失部分,不用从头来。

评论采集与元数据导出

想分析某个作品下用户在讨论什么,一条条截图太原始。打开评论采集开关,每个作品会自动多出一份结构化 JSON,二级回复都在,直接丢给脚本分析:

comments: enabled: true include_replies: true # 连二级回复一起抓 max_comments: 500 # 0 = 不限

跑完之后你手里多的是:

2024-02-07_作品标题_aweme_id/ └── 2024-02-07_作品标题_aweme_id_comments.json

不追特定博主、就想看今天抖音在聊什么,或者按关键词收作品做选题,还有两条现成命令。前者导出热搜榜前 30 条,后者导出与"猫咪"相关的 100 个作品,都落成 JSONL,分别放在hot_board/search/目录里:

python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded

高频配置项速查

前文涉及的高频字段,加上几个常用的,集中整理在这一张表里。

字段名默认值一句话说明所属分组
link必填抖音链接,单条或创作者主页下载行为
modepost批量模式:post/like/mix/music/collect下载行为
number全 0各模式下载数量,0 表示不限下载行为
start_time/end_time""按日期截取,YYYY-MM-DD下载行为
increase各模式true增量开关,跳过已下载作品下载行为
databasetrue用本地 SQLite 记录下载历史下载行为
video_qualityhighest画质:original/highest/1080p 等下载行为
download_pinnedfalse是否包含置顶作品下载行为
path./Downloaded/保存目录输出与命名
video/music/cover/jsontrue/false/false/false各类产物的开关输出与命名
folderstyletrue是否按作品建独立文件夹输出与命名
filename_template{date}_{title}_{id}文件名模板,必须含{id}输出与命名
folder_template{date}_{title}_{id}目录名模板输出与命名
author_dirnickname作者目录命名:nickname/sec_uid输出与命名
redownload_missing_filestrue主文件缺失时重新下载输出与命名
thread5并发下载数容错与性能
retry_times3单任务失败重试次数容错与性能
rate_limit2请求间隔(秒)容错与性能
browser_fallback.enabledtrue接口失败时浏览器兜底开关容错与性能
browser_fallback.headlessfalse浏览器是否无头运行容错与性能
comments.enabledfalse评论采集,输出*_comments.json扩展开关
live.max_duration_seconds0录制时长上限,0 表示录到流结束扩展开关
transcript.enabledfalse视频语音转写扩展开关
notifications.enabledfalse下载完成通知推送扩展开关
server.max_jobs500REST 服务任务上限扩展开关

跑不通时的快速排查

突然出现 403 Forbidden,或提示未登录。 最可能原因:Cookie 过期,最高频的一种。 修复:python -m tools.cookie_fetcher --config config.yml,扫一次码解决。

主页明明上百个作品,只抓到二三十条。 最可能原因:翻页触发了风控。 修复:确认browser_fallback.enabled: trueheadless: false,弹窗浏览器里手动完成验证,别急着关窗口。

下载到一半断了,担心要全部重来。 最可能原因:不需要担心,这是正常情况。 修复:重跑python run.py -c config.yml,完整性校验只补缺失部分。

批量下载时内存、流量占用明显偏高。 最可能原因:并发开太大。 修复:改成thread: 3,按 50~100 个作品分批执行,开跑前先确认磁盘余量。

同一个作品被下载了两遍。 最可能原因:增量开关没开。 修复:确认database: true,且对应的increase模式是true

锦上添花的扩展能力

这些能力都不是必须完成的步骤,用到了再开。

  • REST API 服务模式:想把它嵌进自己的自动化脚本时用。pip install fastapi uvicorn之后运行python run.py --serve --serve-port 8000,通过接口提交下载任务、查询状态,服务逻辑在 server/ 目录里。
  • 完成通知推送notifications.providers支持 Bark、Telegram 和企业微信 Webhook,长任务跑完手机立刻知道结果。
  • 视频语音转写transcript.enabled: true并提供 OpenAI Key 后,每个视频生成xxx.transcript.txtxxx.transcript.json,把视频内容变成可检索的文字。
  • 桌面客户端:同一套后端,粘贴链接即可开始下载,关注列表同步、进度可视化,适合不想碰命令行的人。

第一次用的人,从单条保存那条短链开始,先把"克隆—扫码—配置—运行"整条链路走一遍。已经跑通的人,把databaseincrease两个开关打开,让整页备份按增量跑起来。抖音上的内容随时可能下架,把真正在意的东西稳妥留在本地,才是最踏实的收藏方式。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 16:47:07

Qwen-Image-2.1-GGUF量化怎么选?Q4_0到Q8_0画质与体积终极对比清单

Qwen-Image-2.1-GGUF量化怎么选?Q4_0到Q8_0画质与体积终极对比清单 【免费下载链接】Qwen-Image-2.1-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/abenzerps/Qwen-Image-2.1-GGUF Qwen-Image-2.1-GGUF 是通义千问 Qwen-Image-2.1 文生图模型的 GGUF …

作者头像 李华
网站建设 2026/9/24 16:43:54

基于 Spring Boot 的高校毕业生去向跟踪与统计系统设计与应用报告

摘要: 针对高校毕业生就业与升学去向管理中存在的数据分散、登记效率偏低、统计口径不统一、历史数据回溯困难等问题,本文设计并阐述了一套基于 Spring Boot 的高校毕业生去向跟踪与统计系统。系统采用前后端分离架构,后端以 Spring Boot 为核…

作者头像 李华
网站建设 2026/9/24 16:41:37

电子课本PDF离线获取只需3步:tchMaterial-parser使用指南

电子课本PDF离线获取只需3步:tchMaterial-parser使用指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目地…

作者头像 李华
网站建设 2026/9/24 16:40:53

2026做网站公司有哪些,快来一探究竟吧!

2026做网站公司有哪些,快来一探究竟吧! 凤凰网科技《2026中小企业数字化建站成本调研报告》调研500家中小企业发现:SaaS建站占比已从2024年的41%升到2026年的67%,定制开发降到18%,外包代运营只剩4%。背后信号很清楚——…

作者头像 李华