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
小周追的那场直播课,讲到一半她走神了,等回过神,直播间已经黑屏。回放要会员,而且只保留七天。她跟同事老李抱怨,老李丢过来一个项目名:douyin-downloader。当晚小周装好工具,把后面几场直播原画质录进硬盘,顺手把讲师主页上四十多条历史作品一次性搬空。douyin-downloader 是一个免费开源、跨平台的抖音下载工具,支持视频、图集、合集、音乐与用户主页批量下载,还能录制直播回放,自带去水印、进度展示、失败重试和数据库去重,适合想给自己建一座个人内容库的人。
从"手动一个个存"到"一条命令搬空",差的不是手速
| 场景 | 没有它时 | 有了它之后 |
|---|---|---|
| 直播内容 | 播完即走,回放要会员还要赶在七天内看完 | 边播边录,主播下播自动保留已录数据 |
| 作者主页 | 翻页翻到手指酸,一次还只能看到二十条 | 一条配置批量拉取,作品、点赞、合集、音乐全收 |
| 文件管理 | 一堆"视频(1).mp4"挤在同一个文件夹 | 按作者、按类型、按日期自动建目录 |
| 重复下载 | 存了又存,硬盘悄悄变满 | 数据库加本地文件双重去重,重复的自动跳过 |
| 追更新 | 每天手动刷新看有没有新作品 | 增量模式只下新增内容,定期跑一遍就同步 |
三条命令,先把"下载引擎"装进电脑
不用折腾服务器,一台装了 Python 3.8+ 的电脑就能跑。把项目拉下来,装好依赖:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt第一次使用要先解决登录态。复制一份配置文件,再运行自动获取 Cookie 的命令——它会自己打开浏览器,你扫码登录后回到终端按回车,Cookie 就自动写进配置:
cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml最后把想下载的链接填进config.yml,运行python run.py -c config.yml,剩下的交给进度条。命令行跑起来的样子:
之后想临时加链接、改路径、调并发,都不用动配置文件,直接在命令后面追加-u、-p、-t这类参数。如果你更习惯点鼠标,还有一个基于同一套后端的桌面版 Douzy,粘贴链接、同步关注列表、任务中心都是图形化操作:
你想做的事不一样,配的选项也不一样
直播回放怎么存?开一个录制任务就行
把直播链接丢进去,配好时长上限和空闲判定,就能一边看一边录。录完的 FLV 会落到Downloaded/作者名/live/目录,还附带一份直播间元数据快照。哪怕主播中途下播、网络断了、或者你按了 Ctrl+C,已经录下来的部分也会被保留,不会白录。
link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 表示一直录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30怎么把一位作者的主页一次搬空?
发现一个宝藏博主,想把 TA 的全部作品存下来?把主页链接填进link,再用mode声明要哪些内容:post是发布的作品,like是点赞的,mix是合集,music是音乐。number控制数量,填 0 就是全量抓取。同一个作品在不同模式下会自动去重,不会重复占硬盘。
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post - like - mix - music number: post: 50 like: 0工具默认 5 个线程并发下载,失败自动重试,配了代理也能正常走。批量任务跑起来,进度条一路刷到 100%,非常解压:
下载的文件怎么自动整理?
很多人的下载目录是"大杂烩",这个工具默认按「作者 → 类型 → 单条作品」三层结构归档,每部作品一个文件夹,里面放着视频、封面、音乐、元数据 JSON 和作者头像。文件夹名默认带日期和标题,一眼就能认出是谁的哪条内容:
Downloaded/ └── 作者名/ ├── post/2024-02-07_作品标题_aweme_id/ ├── like/... ├── mix/... └── music/...怎么只下载新增内容,不重复搬运?
追更最怕"每次全量重下"。打开增量开关,工具会拿数据库记录和本地文件做双重比对,只处理没下载过的新作品。再配合时间过滤(start_time/end_time),还能只拉某个时间段的内容,适合定期同步。
increase: post: true like: true mix: true music: true database: true想顺带把评论区也存下来?
对某个作品下的讨论感兴趣?开启评论采集后,每个作品旁边会多生成一份*_comments.json,评论、二级回复都能抓,max_comments: 0就是不设上限。
comments: enabled: true include_replies: false max_comments: 0 page_size: 20进阶玩法:把工具调成你自己的形状
文件名想按自己的习惯来
不喜欢默认命名?filename_template和folder_template可以自定义,日期、标题、ID 都是可用变量,比如{date}_{title}_{id}。桌面版里还有可视化模板编辑,勾一勾就能预览最终效果,不懂代码也能配。
下完了想收到通知
下载完成想让手机响一声,避免干等。支持 Bark、Telegram 和通用 Webhook,企业微信、飞书、钉钉的机器人地址也能填,成功失败都能推,单个渠道失败不会卡住主流程。
notifications: enabled: true on_success: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY想让别的程序也能发起下载
工具能以 REST API 服务模式运行:python run.py --serve --serve-port 8000,之后就能用 HTTP 提交下载任务、查询任务状态。想把它接进自己的网页、脚本或自动化流程,这条路已经铺好。
搜热搜、搜关键词、给视频转文字
--hot-board 30拉热搜榜快照,--search "关键词"按关键词搜作品,结果都以 JSONL 落盘,方便后续分析。还藏了一个转写功能:开启后视频会自动调用语音识别接口,输出 txt 和 json 两种文稿,做内容检索或字幕参考都行。
五个常见问题,用大白话先答一遍
问:为什么一次只能抓到 20 条?答:这是抖音翻页风控的常规现象,不是你配置错了。把浏览器兜底打开(browser_fallback.enabled: true),让它弹出浏览器,手动过一下验证码再继续,就能往下翻。
问:Cookie 失效了怎么办?答:重新跑一次python -m tools.cookie_fetcher --config config.yml,扫码登录完按回车,自动写回配置,不用去开发者工具里翻字符串。
问:怎么看下载历史?答:所有记录都存在 SQLite 里,一条命令就能查最近下载的作品、作者和时间:sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;"。
问:下了个半截文件,会不会留个坏文件在硬盘里?答:下载时会比对文件大小,不完整的文件会被清理并自动重试,不会拿残缺文件冒充成品。
问:文件不小心删了,还能重新下吗?答:可以。程序同时参考数据库记录和本地文件判断,删了文件但记录还在,会视为需要重新下载;想彻底重下,把对应记录从库里删掉即可。
省着点用,也守好边界
工具好用,但别"暴力使用"。短时间内大量请求容易触发平台风控,建议分批下载、控制并发,网络状况好的时段再跑大批量任务,成功率更高。存储上,定期清理低质量内容,重要资料及时备份,别让硬盘悄悄被塞满。
还要把话说明白:下载的内容请只用于个人学习与研究,尊重创作者版权,遵守平台规则。工具本身仅作技术用途,任何违规操作都不该与它沾边。这是每个使用者都应该守住的底线。
现在就可以动手了
打开终端,把项目克隆到本地,填一个你最想保存的链接,跑一次run.py。亲眼看着进度条一格一格走完,文件自动落进分类好的文件夹时,你会觉得:原来整理自己的内容库,可以这么省心。
详细的配置项说明都在config.example.yml,完整使用指南见USAGE.md,想研究实现原理可以翻core/目录,桌面版 Douzy 的界面截图在douyin-downloader/img/desktop/下,可以按图索骥。祝你的硬盘,装得下所有想留住的精彩内容。
【免费下载链接】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),仅供参考
