抖音批量下载实操手册:用 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 是一个开源的抖音下载工具核心目标只有一个把抖音上的内容干净、完整、有秩序地搬到你的硬盘上。和那些只能复制粘贴单个链接的在线工具不同它更看重批量和管理这两个词——下载只是起点去重、归档、历史记录才是它的重头戏。命令行版与桌面版两种入口怎么选项目提供了两套操作入口适合脚本化操作的命令行版以及界面化的桌面客户端 Douzy。两者共用同一套下载后端体验差异主要在交互方式上。对比维度命令行版推荐桌面版 Douzy适用人群习惯终端、想写自动化脚本的用户喜欢图形界面、点击操作的用户功能覆盖全功能含直播、评论、API 服务主流的下载、任务、档案管理批量配置用 YAML 配置文件可版本化管理界面勾选所见即所得自动化支持--hot-board、--search、--serve偏手动操作上手成本需要读一点配置说明装好即用如果你第一次接触建议先用命令行版把流程跑通等确认这套工具适合自己再决定要不要换桌面版。仓库目录速览找功能时别再迷路douyin-downloader/ ├── run.py # 程序入口所有下载都从它开始 ├── config.example.yml # 配置模板复制一份改成自己的即可 ├── douyin-downloader/ │ ├── core/ # 核心下载逻辑视频、合集、直播、音乐 │ ├── cli/ # 命令行入口与进度展示 │ ├── auth/ # Cookie 与登录凭证管理 │ ├── config/ # 配置加载与默认值 │ ├── storage/ # SQLite 数据库、文件归档 │ └── utils/ # 命名、通知、校验等公共能力 ├── img/ # 使用截图与示意图 └── requirements.txt # 依赖清单小提示想深挖某个功能时顺着core/目录找对应模块就行比如直播录制看live_downloader.py合集下载看mix_downloader.py。二、环境部署三步走今天就能跑通第一次下载先别急着配置各种花哨参数跟着下面三步把最小流程跑起来你就能直观感受它的工作方式。第一步克隆代码、安装依赖项目要求 Python 3.8 以上在终端里依次执行git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果你后续想用浏览器兜底功能或自动获取 Cookie再多装一个 Playwrightpip install playwright python -m playwright install chromium第二步自动获取登录凭证绕开手动填 Cookie 的坑抖音的大部分接口需要登录态手动复制 Cookie 容易出错也容易过期。项目提供了一个自动化脚本帮你省掉这一步python -m tools.cookie_fetcher --config config.yml运行后会自动打开浏览器你只需登录一次抖音账号回到终端按一下回车程序就会把认证信息写入配置文件。之后 Cookie 失效了重跑这条命令即可。第三步最小配置 第一条命令cp config.example.yml config.yml把配置文件精简成下面这样就是一个可用的最小方案link: - https://www.douyin.com/video/1234567890123456789 path: ./Downloaded/ cookies: auto保存后运行python run.py -c config.yml看到进度条开始走动说明你已经成功跑通了第一次下载。命令行会实时展示当前下载了哪个视频、成功几个、耗时多久一目了然。需要注意的是如果下载数量较大第一次运行会先抓取作品列表再逐个下载期间日志可能看起来卡住了其实是在拉取数据耐心等待即可。三、批量下载从单个收藏升级为整个主页照单全收四种链接一套命令全覆盖除了最常见的视频链接它还支持这些类型全部放进link:列表即可link: - https://www.douyin.com/video/7604129988555574538 # 单条视频 - https://www.douyin.com/note/7341234567890123456 # 图文 - https://www.douyin.com/collection/7341234567890123456 # 合集 - https://www.douyin.com/music/7341234567890123456 # 音乐原声 - https://v.douyin.com/xxxxx/ # 短链自动解析下载时会自动优先挑选无水印源并按码率自动选择最高清版本视频、封面、音乐、元数据 JSON 会一起归档。作者主页批量下载post / like / mix / music 四种模式把链接换成用户主页地址再指定模式就能一次抓取整个主页的内容link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 作者发布的作品 - like # 作者点赞过的内容 - mix # 作者创建的合集 - music # 作者使用的音乐 number: post: 50 # 只下载最近 50 个作品0 表示全量这里有一个很贴心的细节跨模式会自动去重——同一个作品既出现在post又出现在like里时只会下载一次不会白白浪费流量和磁盘空间。增量下载重复内容自动跳过更新收藏像拉取订阅一样简单这是最值得开启的功能之一。关闭与开启的差别看这张表就明白了场景不开增量下载开启增量下载每周更新一次某博主的作品每次都重新下载全部历史内容只下载新增部分重复运行同一条命令反复下载已保存的内容自动跳过秒级完成磁盘空间持续膨胀长期稳定开启方式很简单两行配置increase: post: true like: true database: true # 增量依赖 SQLite 记录务必开启对应的 SQLite 文件默认生成在dy_downloader.db它同时承担去重和历史记录两个职责。时间筛选与归档结构下载结果整洁可查只想保存某段时间的内容用时间过滤start_time: 2024-01-01 end_time: 2024-12-31下载完成后文件会自动按作者、按模式归档成清晰的目录树Downloaded/ └── 作者名/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── ...mp4 │ ├── ..._cover.jpg │ ├── ..._music.mp3 │ └── ..._data.json ├── like/ ├── mix/ └── music/每个作品独占一个文件夹视频、封面、音乐、元数据互不混淆找起来非常方便。四、直播回放与评论采集精彩内容不再错过即失去直播录制下播自动保留断网不丢数据错过直播只能等回放不用。把直播间链接丢给它就能边看边录link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 表示录到主播下播为止 idle_timeout_seconds: 30录制成果会保存在Downloaded/作者名/live/下同时生成一份直播间元数据快照。最贴心的是即使主播突然下播、网络中断或你手动 CtrlC 中断已经录下来的数据也会被完整保留不会前功尽弃。需要说明的是录制格式分为 FLV 与 HLS 两种FLV 文件录制完即可直接播放HLS 源目前只保存播放列表文件需要你用 ffmpeg 做一次后处理才能播放。日常使用建议优先选择 FLV 源。评论采集顺手给数据分析留一手如果你做内容研究或舆情分析评论采集功能可以直接输出结构化数据comments: enabled: true include_replies: false # 设为 true 会多拉二级回复请求量更大 max_comments: 500 # 0 表示不限条数每个作品会生成一份独立的*_comments.json和媒体文件放在一起方便后续导入表格或分析工具。五、进阶玩法把下载任务交给机器自动执行热搜榜与关键词搜索先找内容再决定下什么不想一个个找链接直接用命令拉取热门内容和搜索结果python run.py --hot-board 30 -p ./Downloaded python run.py --search 猫咪 --search-max 100 -p ./Downloaded结果会以 JSONL 格式落到hot_board/和search/目录你可以先浏览数据再挑有价值的链接去下载。REST API 服务模式把下载能力嵌进自己的系统如果想让下载功能对接到自己的程序里可以先安装可选依赖再启动服务pip install fastapi uvicorn python run.py --serve --serve-port 8000服务提供四个核心接口提交一个链接就能拿到任务状态MethodPath说明POST/api/v1/download提交{url: ...}返回任务 IDGET/api/v1/jobs/{job_id}查询单个任务的状态GET/api/v1/jobs列出最近的下载任务GET/api/v1/health健康检查这个模式非常适合定时任务、内容爬取流水线等自动化场景。完成通知与视频转写下载完自动告知、自动出稿下载是异步的跑批时总不能一直盯着终端。配置通知后任务完成会推送到你的手机notifications: enabled: true on_success: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY除了 Bark还支持 Telegram 与通用 Webhook企业微信、飞书、钉钉的机器人地址也能直接用多个渠道可以同时推送。更进一步如果你有 OpenAI 的 API Key还能开启视频转写下载完成后自动生成字幕文件*.transcript.txt与*.transcript.json省去手动听写的功夫。六、高频问题速查与下一步行动四个最常见的卡点先替你踩过了Q1为什么只能抓到 20 条作品这是抖音翻页风控的常见现象。确保配置文件里browser_fallback.enabled: true、headless: false浏览器弹出后手动完成验证码别急着关窗口程序会继续翻页。Q2下载速度慢怎么办先检查并发数和重试参数thread: 5 # 网络好可以调大如 8 retry_times: 3 # 网络波动时自动重试如果仍不理想可以给proxy配一个 HTTP 代理。Q3Cookie 失效了怎么处理重新执行python -m tools.cookie_fetcher --config config.yml重新登录一次即可不用手动改配置。Q4如何查看下载历史直接查 SQLite 数据库sqlite3 dy_downloader.db SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;建议的上手路线第一天跑通单条视频下载确认配置和网络没问题第一周尝试作者主页的post模式开启increase与database体会增量下载的威力进阶期玩转直播录制、评论采集和通知推送自动化期研究 REST API 服务模式把它接入自己的定时任务。更详细的配置项说明可以参考config.example.yml完整功能清单和参数表在douyin-downloader/README.zh-CN.md核心实现源码都在douyin-downloader/core/下遇到问题顺着模块名就能找到答案。写在最后收藏有道使用有度把喜欢的内容沉淀到本地是对内容资产的一种打理但请务必记住下载的内容仅建议用于个人学习、研究与备份不要用于商业传播或侵犯他人权益。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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考