一个下午搬走 800 条高清视频:免费开源的抖音无水印下载工具 douyin-downloader 使用全记录
一个下午搬走 800 条高清视频:免费开源的抖音无水印下载工具 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 是一款完全免费、开源的抖音无水印下载工具,用 Python 写成,跨 Windows、macOS、Linux 运行,能把视频、图集、合集甚至音乐原声从抖音服务器上原样搬回本地,支持最高 4K 画质与批量下载。下面,我会用一次真实的"从零到上手"旅程,把它的安装、配置与进阶玩法完整讲给你听。
📖 一个普通周五,有人想把整个收藏夹搬回家
先讲个故事。周五晚上,我翻着一位关注了三年的音乐博主的页面,忽然冒出个念头:万一哪天账号注销、作品下架,这些年攒下的好内容就再也找不回来了。于是我想把喜欢的内容全部保存到本地。
最初我用的是录屏,结果惨不忍睹——画面里永远压着水印,手机录出来的分辨率也大打折扣;换成在线解析网站,要么画质被二次压缩,要么隔三差五就要充值。折腾到深夜,下载下来的文件还七零八落地堆在下载目录里,连名字都是乱码。
后来一位做自媒体的朋友甩给我一个仓库地址:douyin-downloader。他说这工具他不只用了一年,还把它接进了自己的自动化工作流里。当天晚上我就跑通了第一单,第二天下午,我已经把那位博主的几百条作品整整齐齐地搬进了硬盘。
这篇文章,就是把我走过的路重新走一遍,把每个关键节点拆给你看。
📦 先看结果:它交付给你的是一份怎样的素材库
在动手之前,先看看"终点"长什么样,会让你对接下来每一步都有数。下载完成后的文件结构是这样的:
Downloaded/ ├── 作者名/ │ ├── post/ # 发布作品 │ │ └── 2024-02-07_作品标题_aweme_id/ │ │ ├── video.mp4 # 视频文件 │ │ ├── cover.jpg # 封面图片 │ │ ├── music.mp3 # 背景音乐 │ │ └── data.json # 元数据信息 │ ├── like/ # 点赞过的作品 │ ├── mix/ # 合集内容 │ └── live/ # 直播录制也就是说,它交付给你的不是一个乱糟糟的下载文件夹,而是一套"到手即用"的分类素材库:每个作者一个文件夹,作品、点赞、合集分开归档,每个视频连同封面、音乐和 JSON 元数据放在一起。这背后有几个关键机制值得先说清楚:
- 无水印优先:直接向抖音服务器请求原始视频文件,绕开二次转码,不给你带水印的版本。
- 最高清自动挑选:根据码率自动从多个清晰度里选出最优画质,最高可达 4K。
- 双重去重:SQLite 数据库记录 + 本地文件检查双保险,同一部作品不会重复下载。
想了解文件管理背后的实现,可以翻一翻douyin-downloader/storage/目录下的代码,里面有数据库与文件管理器的完整逻辑。
🚀 跑通第一单:安装、登录、下载一条视频
拿到代码
先在终端里把项目克隆到本地,然后进入项目目录安装依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果你用的是 conda 或 venv,记得先激活虚拟环境再执行pip install,这样依赖不会污染系统环境。
配置登录状态
抖音的大部分内容需要登录后才能访问,所以工具要求你先配置 Cookie。好在获取方式足够省事——它会自动打开浏览器,你扫码登录一次,程序就把 Cookie 写进配置文件了:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml这一步会弹出浏览器窗口,登录成功后 Cookie 自动落盘,之后就能正常请求接口。整个过程对应douyin-downloader/tools/cookie_fetcher.py这个模块。
完成第一次下载
在配置文件里填入你想下载的视频链接,然后运行:
python run.py -c config.yml第一次看到终端里逐条刷出"视频 100%""封面 100%"的进度时,那种"原来可以这么干净利落"的感觉,和用录屏软件完全是两个世界。
⚡ 从"单条"到"批量":主页、合集、收藏一次打包
单条视频只是开胃菜。这套工具真正让人上头的,是把"单条"扩展成"批量"的能力。它支持三类批量来源:
- 用户主页:把某个作者发布过的作品全部拿下;
- 合集:识别作者创建的合集,自动遍历其中所有视频;
- 收藏夹(喜欢):把自己点过赞的内容一次性归档。
在配置文件里,只需要声明链接和想下载的类型:
link: - https://v.douyin.com/xxxx/ # 单条视频 - https://www.douyin.com/user/xxxx # 用户主页 path: ./Downloaded/ # 保存位置 music: true # 连背景音乐一起下 cover: true # 保存封面 json: true # 保存元数据 mode: - post # 发布作品 - like # 点赞作品 - mix # 合集作品 number: post: 50 # 每个作者最多下载 50 条批量下载最怕两件事:一是下到一半断了,二是重复下。前者有断点续传兜底,中断后重新运行会自动接着上次的位置继续;后者靠双重去重机制,已存在的文件直接跳过。下图是任务进行中的实时状态,进度、排队、事件流都一目了然:
批量下载的核心调度逻辑在douyin-downloader/core/目录下,感兴趣的话可以从user_downloader.py和mix_downloader.py读起。
🖥️ 桌面版和命令行:两条路各有各的看家本领
跑通几次命令行后,我又试了试它的桌面版,发现这工具最贴心的地方,是给不同习惯的人各准备了一条路。
桌面版:适合"点一点"就能干活的人
桌面版把常用操作都做成了可视化模块。左侧导航栏里,账号管理、关注列表、收藏、下载、批量下载、任务中心、作品档案、设置一字排开;右侧就是核心操作区,粘贴链接、检测、选择类型、开始下载,全程不用碰命令行。
它的"任务中心"尤其好用,进行中、成功、失败的统计清清楚楚,还能从历史记录里直接打开文件所在目录:
在"设置"里,你甚至可以像搭积木一样配置文件命名规则,比如作者目录叫法、是否按作品建子目录、文件名模板用{date}_{title}_{id}还是别的变量组合,所见即所得。
命令行:适合追求自动化的人
命令行模式把控制权完全交给你。线程数、保存路径、时间范围、跳过重复文件……一切行为都由配置文件驱动,方便写进脚本定时执行。
批量任务跑起来时,终端里一行行绿色的进度条非常直观:
我的建议是:偶尔手动保存几条内容,用桌面版就够了;如果是固定追更某些作者、或者要长期维护一个素材库,命令行模式配定时任务更省心。
🧠 进阶玩法:时间筛选、增量下载、评论与热搜
当素材库慢慢变大,你会发现它还能回答更深层的问题。
按时间范围精确取数。只想要某段时间内的内容?在配置里声明起止日期即可:
start_time: "2024-01-01" end_time: "2024-12-31"增量下载,只追新增。对长期关注的作者,没必要每次全量重下。开启增量模式后,工具会根据数据库记录只下载上次之后的新作品:
increase: post: true # 发布作品只下新增 like: false mix: true database: true # 增量依赖数据库记录把评论也存下来。做内容分析的人会喜欢这个功能,它会把评论数据写到每个作品目录下的 JSON 文件里:
comments: enabled: true include_replies: false # 是否包含二级回复 max_comments: 500热搜榜与关键词搜索。想追热点或做选题,两条命令就够了:
python run.py --hot-board 30 -p ./Downloaded python run.py --search "猫咪" --search-max 100 -p ./Downloaded结果会以 JSONL 格式保存,方便直接丢给后续的分析流程。另外,如果你需要保存直播内容,工具也支持指定清晰度的直播录制:
🙋 上手前,把这几个问题想清楚
遇到"只能抓到 20 条作品"怎么办?
这是翻页接口风控的常见现象。开启浏览器兜底策略可以缓解:在配置中启用browser_fallback,把headless设为false,当浏览器弹出验证时手动完成,别急着关窗口,任务会继续跑下去。
下载速度不理想?
先检查网络稳定性;批量任务可以适当调低线程数(默认 5 个),或者错开高峰时段再跑,对服务器和你的网络都更友好。
Cookie 失效了?
重新执行一次扫码获取命令即可:
python -m tools.cookie_fetcher --config config.yml想看下载历史?
工具本身有"作品档案"模块(桌面版),也可以用 SQLite 直接查:
sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name, datetime(download_time, 'unixepoch', 'localtime') FROM aweme ORDER BY download_time DESC LIMIT 20;"最后提醒一句:工具再好,也要用在合理范围内。请只保存自己有权保存的内容,避免用于商业传播或侵权用途,也别对抖音服务器造成过大压力——下载密度上保持克制,工具才能长久好用。
🎯 现在,轮到你了
回顾整趟旅程:克隆项目、安装依赖、扫码登录、填上链接、跑起命令,一条无水印高清视频就落进了本地;再往前走一步,批量、增量、评论、热搜,一个完全由你掌控的素材库就慢慢成型了。
如果这个周五晚上,你也想让那些舍不得删的内容真正"属于自己",现在就动手吧:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt cp config.example.yml config.yml python -m tools.cookie_fetcher --config 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),仅供参考
