news 2026/9/15 18:45:04

抖音视频下载怎么做?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

用在线转换站下抖音视频,成品上往往盖着水印,点开全是广告;手动一条条复制分享链接,一个几百条作品的主页能贴到天亮。抖音视频下载这件事不需要这么费劲。开源免费的 douyin-downloader 就是一个命令行工具:单条去水印下载、作者主页批量下载、合集与原声提取、直播录制都能做,自带进度条、失败重试、数据库去重和浏览器兜底,MIT 协议,本地一条命令跑起来。

安装与登录态:两条命令加一次扫码

环境要求只有 Python 3.8+,Windows、macOS、Linux 都支持。先克隆仓库:

git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader

进入目录后安装依赖,再复制一份可编辑的配置文件:

pip install -r requirements.txt cp config.example.yml config.yml

拿到登录态是唯一的"动手步骤"——抖音接口需要 Cookie 才能取到资源。项目内置了自动抓取脚本,它会弹出浏览器让你登录,登录完成后回到终端按回车,Cookie 自动写进config.yml

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

不想用自动抓取也没问题:从浏览器开发者工具里复制 Cookie 串,手动填进配置文件的cookies段,关键字段是msTokenttwidodin_ttpassport_csrf_token。两种方式都只做一次,之后长期免登录使用。

单条抖音视频下载:一条命令拿无水印视频

最小配置只需要link一个视频链接加path保存目录。也可以不改文件,直接用-u参数追加链接:

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

跑完后到Downloaded/作者名/目录下查看结果:默认folderstyle: true会为每个作品建一个以"日期_标题_aweme_id"命名的子文件夹,里面是 mp4 视频本体。工具会优先选无水印源,再从 API 返回的多档码率里挑最高的一档(可用video_quality指定original1080p等)。想要封面、原声、元数据的话,把配置里cover: truemusic: truejson: true打开即可,同目录下会多出_cover.jpg_music.mp3_data.json几个文件。

短链也支持:https://v.douyin.com/...会自动解析成真实地址,图文(/note/)和合集(/collection/)链接同理。

抖音主页批量下载:作者作品怎么一次性拿全

把配置里的link换成作者主页地址,mode指定postnumber.post限定数量(0表示不限),然后运行python run.py -c config.yml。工具会翻完该作者的所有作品,thread: 5控制并发下载线程数,retry_times: 3控制单条失败后的重试轮数。

几个值得注意的机制:

  • 去重database: true时,每个作品的 aweme_id 都会写进本地 SQLite(默认dy_downloader.db),下次再跑同一主页,已下载的自动跳过,不重复占磁盘
  • 增量increase.post: true配合数据库使用,第二次运行只补新发的作品,适合定期更新素材库
  • 时间窗start_time/end_time(格式YYYY-MM-DD)可以只拉某个时间段,比如只更新最近一周的内容
  • 进度可见:Rich 进度条实时显示每个链接的进度,结束后打印"成功/失败/跳过"的汇总,不需要盯屏幕

失败重试走指数退避(1s、2s、5s),下载还有 Content-Length 完整性校验,残缺文件会自动清掉重拉。

原声提取、点赞列表与直播录制

同一套配置,换mode就是另一种玩法:

  • 原声提取/music/{music_id}链接直接抓原声文件,没有原声文件时回退到该音乐下的首条作品;mode: [music]则批量拉取某作者使用过的音乐
  • 点赞列表:主页链接配mode: [like],下载作者点赞过的内容
  • 收藏夹/user/self?showTab=favorite_collectionmode: [collect][collectmix],只支持当前 Cookie 登录的账号,且需单独使用

直播录制是单独一条链路:把link指向live.douyin.com/{room_id},配置里打开live段(max_duration_seconds: 0表示一直录到主播下播)。录到的 FLV 存在Downloaded/{作者}/live/下,附带一份*_room.json直播间元数据。主播下播或网络中断时,已录制的字节会保留,.tmp文件自动转正,不用从头再来。

稳定性设计:API 引擎加 Playwright 浏览器兜底

批量任务最怕请求多了被风控、翻几页就卡住。douyin-downloader 的处理方式是双引擎:日常走 API 直连,速度快;当post模式翻页被限制时(典型症状是只抓到 20 条左右),自动启动 Playwright 开的真实浏览器继续翻页,browser_fallback.enabled: trueheadless: false时,弹窗里还能手动过验证码。

另外两个细节:全局限速默认 2 请求/秒,避免请求过快触发限制;登录态失效时会弹提示,交互环境下自动拉起重新登录流程,而不是直接报一堆错。

定时更新与日常维护

素材库建好后,更新可以交给系统。Linux 上用 cron 每天凌晨增量跑一次:

0 2 * * * cd /path/to/douyin-downloader && python run.py -c config.yml >> download.log 2>&1

日常维护记住三件事:

  1. 并发与限速:普通网络thread设 3~5 足够,请求快容易被限,慢只会多等几秒
  2. Cookie 过期:下载开始批量报错时,重跑一次python -m tools.cookie_fetcher --config config.yml即可
  3. 进度刷屏:嫌日志吵就把progress.quiet_logs保持为true(默认已开)

上手清单

  1. 克隆仓库并pip install -r requirements.txt装好依赖
  2. 复制config.example.ymlconfig.yml,运行 cookie_fetcher 完成一次登录
  3. python run.py -c config.yml -u "视频链接"下第一条无水印视频
  4. 把常看的主页加进linkmodepost,开批量下载
  5. 需要持续更新时,配一条 cron 定时任务

想再深入一点:完整配置项说明看 README.zh-CN.md,每个开关的默认值在 config.example.yml 里有逐行注释,浏览器兜底和下载器实现的源码在 core/ 目录下。项目还在内测一个基于同一套后端的桌面版 Douzy,支持粘贴链接即下、关注列表同步和可视化任务中心,不需要命令行也可以玩。

【免费下载链接】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/15 18:44:11

MyBatis-Plus时间字段自动更新的四种实现方式与性能对比

1. MyBatis-Plus 时间字段自动更新的四种实现方式在数据库操作中,记录修改时间是一个高频需求。MyBatis-Plus 作为 MyBatis 的增强工具,提供了多种实现时间字段自动更新的方案。下面我将结合实战经验,详细介绍四种主流实现方式及其适用场景。…

作者头像 李华
网站建设 2026/9/15 18:44:01

四阶有限差分声波方程正演:从空间离散到合成地震记录的实现要点

简介:fd.zip是一份面向地球物理勘探与数值模拟初学者的四阶声波有限差分正演程序包。压缩包共三个文件,包含一个C语言源码和两个数据文件,整体仅51KB。源码以四阶有限差分方法求解声波波动方程,覆盖网格离散化、时间步进、边界条件…

作者头像 李华
网站建设 2026/9/15 18:40:32

Loop for Mac:用径向菜单 5 分钟配好你的 macOS 窗口管理布局

Loop for Mac:用径向菜单 5 分钟配好你的 macOS 窗口管理布局 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 写代码时编辑器在左边,文档和终端还得在右边,每次靠鼠标…

作者头像 李华
网站建设 2026/9/15 18:37:50

SillyTavern 完整指南:5 分钟搭好属于你的 AI 角色扮演前端

SillyTavern 完整指南:5 分钟搭好属于你的 AI 角色扮演前端 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 当你希望模型从头到尾演好一个具体角色,而不是退化成&qu…

作者头像 李华