抖音批量下载实战:一个晚上,我收下了整个博主的主页

📅 2026/8/15 12:12:02
抖音批量下载实战:一个晚上,我收下了整个博主的主页
抖音批量下载实战一个晚上我收下了整个博主的主页【免费下载链接】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那个周五晚上我盯着一位数码博主的页面发呆。他主页上有 340 条作品从测评到教程我打算全部存下来慢慢看。手动点了四十多个保存视频之后我确认了两件事一是抖音 App 下载的视频没法选清晰度二是再这样点下去我的拇指和耐心都会先报废。凌晨一点我翻出朋友提过的一个开源工具 douyin-downloader——一个面向实用场景的抖音下载工具支持视频、图集、合集、音乐批量下载也支持单个链接下载。那天夜里我跑通了第一条命令从此告别了手动存视频的日子。这篇就把完整过程写下来照着走你也能在半个小时内让批量下载转起来。第一次运行从克隆到看见第一个下载好的视频先把项目拉下来装依赖git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt装完之后下载前需要让程序认识你的抖音账号。手动从浏览器 F12 里翻 Cookie 又麻烦又容易过期项目里带了一个自动获取的工具运行后会自动弹出浏览器让你登录登录完回终端按一下 Enter配置就写好了python -m tools.cookie_fetcher --config config.yml接着是最小可用配置。复制一份config.example.yml为config.yml我只改了三处下载链接、保存路径、下载模式。文件里每一段配置都带注释第一次用基本不用查文档link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/ mode: - post然后运行python run.py -c config.yml屏幕上滚出 Rich 进度条几秒钟后Downloaded/里出现了第一个视频文件。到这一步单条视频下载已经通了。之后我把链接换成某位作者的主页地址把mode里的post数量调大一次批量下载就这么跑起来了能力地图这个下载器能装下多少种内容跑通之后我对着 README 里的功能表捋了一遍把它能干的事整理成一张速览卡方便你按需取用能力适用场景一句话说明单个下载一条视频、图集、合集、音乐贴链接就能下短链会自动解析作者主页批量下载收藏某位博主的全部作品mode支持作品/点赞/合集/音乐四种直播录制保存直播内容FLV/HLS主播下播自动保留已录数据评论采集分析作品反馈输出*_comments.json供后续处理热搜榜与搜索选题、找素材一键导出榜单和搜索结果到 JSONLREST API接入自动化流程起个服务就能提交下载任务通知推送长任务离线等待完成后推 Bark / Telegram / Webhook值得一提的是这些能力不是散装功能而是围绕作者主页这一个核心场景设计的。mode里的post发布、like点赞、mix合集、music音乐可以同时开启一个作者主页跑一次四种内容就齐了而且同一个视频在不同模式下不会重复下载。深入一层增量下载和去重是怎么做到的用得越久我越好奇一件事重复跑同一个作者的下载任务它怎么知道哪些已经下过了看了core/目录下的实现才知道它做了双重检查。第一层是本地文件扫描程序会在下载目录里按文件名中的aweme_id判断是否已存在第二层是 SQLite 数据库database: true时会在dy_downloader.db里记录每个作品的下载状态。两层互为兜底——只删数据库不删文件不会重新下载只删文件不删数据库则会补下。这个设计直接撑起了增量下载功能increase: post: true database: true打开后同一作者的页面再跑一遍就只会下载新发布的作品。我追更的那位数码博主每周更新我每周跑一次Downloaded/里的文件数和数据库记录一一对应一次重复下载都没有发生过。一个完整的实战把整个合集搬进硬盘说一个我完整的实际操作。上个月我要备份某位老师全套 120 期绘画教程他自己放在一个合集里目标很明确全部存下来、命名规范、以后能按日期检索。配置如下link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - mix number: mix: 0 # 0 表示不限制数量 thread: 5 filename_template: {date}_{title}_{id}执行python run.py -c config.yml五个线程并发下载进度条实时滚动。结束后目录长这样Downloaded/ └── 作者名/ └── mix/ └── 2024-03-02_水彩入门第一课_7341234567890123456/ ├── ...mp4 ├── ..._cover.jpg ├── ..._data.json └── ..._music.mp3每期作品还自动附带了封面、原声音乐和 JSON 元数据。之后我在桌面版 Douzy 的任务中心里也能看到这次下载的完整记录点开作品档案就能按作者、日期筛选历史跟命令行跑出来的结果完全一致我踩过的几个坑提前帮你避开Cookie 失效跑着跑着突然只能拉到 20 条作品多半是 Cookie 过期了。重跑一次python -m tools.cookie_fetcher --config config.yml就好不用手动翻浏览器。只出 20 条的限制这是翻页风控。配置文件里browser_fallback.enabled保持true、headless设为false翻页受限时程序会弹出一个浏览器窗口手动把验证码点了、别急着关窗口就能继续翻下去。HLS 直播源只能存 playlist录直播时如果源是 HLS保存下来的是播放列表文件需要自己用 ffmpeg 转一下才能得到完整的视频文件FLV 源则可以直接播放。进度条刷屏默认配置里progress.quiet_logs: true已经开了静默想排查问题再临时加-v参数别一直开着刷屏模式跑。下一步能玩出什么基础下载跑顺之后可探索的空间还挺大。官方文档里列着视频转写调用转写 API 生成字幕文本、REST API 服务模式python run.py --serve --serve-port 8000起服务后通过 HTTP 提交下载任务、以及桌面版 Douzy——粘贴链接、同步关注列表、可视化跟踪进度适合不想碰命令行的场景。配置项说明在 config.example.yml 里都有注释功能细节可以翻 README.zh-CN.md使用指南在 USAGE.md。这几个文件我都是边用边查的比到处搜教程靠谱。我的资源库现在已经存下几百个视频了每个月清理一次不再需要的内容剩下的按主题归档。它解决的其实不是一个下载问题而是一个如何把散落在平台上的内容整理成自己能长期使用的资料库的问题。如果你也有一直想保存却嫌麻烦的内容不妨从一条视频开始试试。【免费下载链接】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),仅供参考