当前位置: 首页 > news >正文

一次把收藏搬回家: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 的工具,说明里写着"视频、图集、合集、音乐、直播回放、主页批量下载",几乎覆盖了我全部需求。

第一次跑通:从克隆到第一个视频落地

安装比想象中简单。克隆仓库、装依赖,两条命令:

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

唯一多一步的是身份认证。抖音接口需要登录态,工具提供了自动获取方式,运行后会自动打开浏览器,你手动登录一次,回到终端按回车,Cookie 就写好了:

python tools/cookie_fetcher.py --config config.yml

然后是第一条下载命令。我把想收藏的单个视频链接直接传进去:

python run.py -c config.yml -u "https://www.douyin.com/video/7234567890123456789"

终端里出现了进度条,逐项显示"解析链接、创建下载器、执行下载",最后落到本地的是一个不带水印、自动挑了最高画质的 mp4 文件,旁边的 JSON 里还带着标题、作者、发布时间这些元数据。

把"一条"变成"一批":主页批量下载的关键配置

单个视频没问题后,我开始处理真正的大头——那位摄影博主的主页。批量下载抖音视频的技巧其实就在配置文件里:link指向主页地址,mode决定抓哪几类内容,number控制各类型数量。

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./我的收藏/ mode: - post # 发布的作品 - like # 点赞过的作品 - mix # 合集 number: post: 60 like: 20

运行后,下载器会按作者建目录,内部再按类型分文件夹,作品、合集、音乐各归各位,不会混在一起。我加了thread: 5让并发下载,几十条作品十几分钟就全部落地,最后终端会汇总一行统计:总作品数、成功数、失败数、跳过数。

直播回放保存方法:一次差点错过直播的教训

真正让我觉得这个工具值得的,是直播回放保存方法。上周主播临时加了一场新机上手直播,我全程在外,只来得及把直播间链接复制下来。

回来一试,直接把live.douyin.com的链接填进link就能录:

live: max_duration_seconds: 0 # 0 = 一直录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30

程序会先解析出直播间的清晰度选项,再生成 FLV 下载链接。整场直播录了一个多小时,主播下播后工具自动保留已录数据,没有因为断流丢片段。

对追更技术分享、公开课这类内容的人来说,这条功能等于给直播上了保险——错过直播不再意味着错过内容。

下载到一半踩的坑:Cookie 失效、翻页限制和重复下载

批量下载进行到第三天,问题陆续冒出来,这里把对策一并记下。

Cookie 失效。抖音登录态有时效,某天运行命令,进度条走到一半报"登录态失效"。好在工具检测到后会自动重新打开浏览器让你登录,更新完 Cookie 自动重试,不用手动改任何配置。如果环境不支持自动弹窗,重跑一次python tools/cookie_fetcher.py即可。

翻页限制。主页作品超过 20 条时,API 分页可能被卡住。配置里的browser_fallback就是干这个的——API 翻不动时自动启动浏览器继续滚动抓取,必要时可以人工过一下验证码。我的 60 条作品里有 40 多条是靠它补齐的。

重复下载。增量更新最容易踩的坑是重复。工具内置 SQLite 去重(database: true),同一个作品二次运行会直接跳过;配合增量配置,后续只需抓新增内容:

increase: post: true like: true

文件名也会按模板生成,我用的{date}_{title}_{id}让每个文件都带日期和唯一标识,配合按作者建目录的规则,时间久了也不会乱。

锦上添花:通知、评论采集和 API 服务

稳定跑通后,我又翻配置发现了几个顺手的功能。下载完成后可以推送到 Bark 或 Telegram,长任务挂在后台,手机收个通知就知道跑完了。需要分析视频评论区反馈时,可以开评论采集,每个作品会额外生成一份*_comments.json

命令行也藏着两个小工具:--hot-board 30拉取抖音热搜榜,--search "关键词"按关键词搜索并导出 JSONL,做内容选题参考很方便。想集成到自己的系统里,还能以 REST API 服务模式运行:

python run.py --serve --serve-port 8000

对不习惯命令行的朋友,项目还有一个同后端的桌面版 Douzy,粘贴链接、同步关注列表、实时看下载进度都在图形界面里完成,内测阶段可以留意 Releases 页面。

半年用下来的一点心得

现在我的本地库已经攒了几百条作品和十几场直播回放,全部按作者和类型分好了目录。这个工具解决的是"内容随手就能存下来"这件事——单个视频、整页作品、合集、音乐、直播回放,一条链接丢进去,剩下的交给它。

它适合这些人:想离线反复看视频的学习型用户;要系统整理某个作者全部作品的收藏爱好者;以及需要定期备份直播内容的人。上手门槛不高,配置最复杂的地方也就是一个 YAML 文件。

想深入了解的,可以看仓库里的USAGE.md使用说明、config.example.yml配置注释,核心逻辑在core/目录,下载器的工厂、直播录制、评论采集这些模块都按职责分好了文件,读起来不算难。内容下载下来还是建议用于个人学习收藏,别拿去二次传播。工具只是把手,怎么用,在自己。

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

http://www.cnnetsun.cn/news/4038884.html

相关文章:

  • C#用户认证系统实战:从密码安全到会话管理的完整实现
  • 嵌入式基础一:GPIO
  • 别被坑了!PHP文件上传下载源码,安全漏洞一抓一个准
  • reCAPTCHA技术解析:从“我不是机器人”到行为分析安全体系
  • YOLO 涨点改进|全网独家复现多尺度微小元器件特征融合 16 类控制柜指示灯压板识别、变电站二次设备智能巡检全场景有效涨点
  • 4步救活被系统淘汰的老iPhone:Legacy-iOS-Kit降级越狱实操指南
  • 一文读懂MonkeyOCRv2核心基础知识
  • 【AI智能体速通】08.用护栏降低AI 智能体安全风险
  • # 一个JSP打天下:47KB万能表单引擎
  • MCP-uplift:无缝桥接新旧MCP协议,平滑迁移AI工具生态
  • 汽车行业客户体验管理系统推荐:基于AI大模型的VOC智能归因与改善工单自动分类实践
  • 微信聊天记录如何免费完整导出?WeChatExporter 开源备份工具全攻略
  • TVA具身智能技术图谱(1):系统安全防护与对抗鲁棒性
  • 《代码随想录》刷题打卡day31:动态规划-背包问题part02
  • 老电脑装不上 Windows 11?这份绕过 TPM 的完整方案请收好
  • Linux线程调度策略与优先级设置实战指南
  • 被 300MB 的 Shapefile 折磨一整天后,我靠 Mapshaper 十分钟交付了秒开的 Web 地图
  • 域内信息搜集实战:从零构建内网渗透侦察地图
  • 网盘下载速度慢到怀疑人生?这款免费油猴脚本让下载速度快10倍
  • MySQL数据库增删改查入门:从基础语法到实战应用
  • SMUDebugTool完全指南:AMD Ryzen系统调试入门的7个实战技巧
  • 抖音批量下载与直播回放保存保姆级指南:douyin-downloader 从入门到顺手
  • CNKI-download:5分钟上手知网文献批量下载的全能助手
  • CAD 优化:跳过 AcConnectWebServices.arx 加载
  • HoRain云--NumPy 从数值范围创建数组
  • 200SMART项目迁移G2全攻略:从V2.8到V3.1,模块与变量规则详解
  • MEMS技术深度解析:从物理原理到工程实践的全链路指南
  • Wacom数位板驱动安装失败全攻略:从根源排查到彻底解决
  • Jellyfin Android TV 完全实战手册:从第一次开机到搭建私人影院的进阶全攻略
  • BetterJoy实战终极指南:免费把Switch手柄变成PC游戏万能适配神器