news 2026/9/16 17:25:46

抖音批量下载:从单个视频到整页作品,一个工具就能搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
抖音批量下载:从单个视频到整页作品,一个工具就能搞定

抖音批量下载:从单个视频到整页作品,一个工具就能搞定

【免费下载链接】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,它会返回一个没有水印的 mp4;把整个作者主页链接丢给它,它能把这位作者的作品、图集、合集按文件夹归档保存,封面、背景音乐、元数据各归各位。这是一个用 Python 写的批量下载工具,支持视频、图文、合集、音乐(原声)四类内容,默认带进度展示、失败重试、数据库去重,翻页被风控时还能自动切到浏览器模式兜底。

这篇文章按"第一次跑通 → 日常怎么用 → 遇到坑怎么办"的顺序来讲,跟着走一遍,10 分钟左右就能下第一个视频。

第一次跑通:装好依赖、拿到 Cookie、下载第一条视频

三步完成安装

工具只依赖 Python 3.8 及以上版本,Windows、macOS、Linux 都能跑。整个过程就三条命令:

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

装完先别急,配置文件还没建:

cp config.example.yml config.yml

config.yml 是所有行为的开关,后面提到的每一项功能都在这里面改。如果你需要浏览器兜底功能(下面会解释),还得补装 Playwright:

pip install playwright python -m playwright install chromium

三步配好 Cookie

批量下载作者主页需要登录态。Cookie 就是浏览器里代表"你是这个账号"的一串凭证,直接手动复制很容易漏字段,所以推荐用它自带的获取工具:

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

这条命令会弹出一个浏览器窗口,你在里面正常登录抖音,然后回到终端按回车,凭证会自动写回 config.yml,不用自己复制粘贴任何东西。Cookie 失效后重跑这一条命令就行。

下载第一条视频

config.yml 里只需改两处:把link换成你想下的视频链接,确认path是你想保存的目录。然后:

python run.py -c config.yml

跑完你会在path目录下看到按日期_标题_作品ID命名的文件夹,里面是无水印视频本体,加上你开启的封面、音乐、JSON 元数据。命令行也支持临时追加参数,比如-t 8把并发调到 8 个线程、-p换输出目录,不必每次改配置文件。

顺便说一句:项目还配套了一个桌面客户端 Douzy(内测中),界面就是上图这样,粘贴链接、排任务、查档案都在界面上完成,适合不想碰终端的人,本文重点讲命令行用法。

日常使用:批量下主页、评论、收藏夹

一个作者主页全收

link换成作者主页链接(douyin.com/user/...这种),mode里写下载模式:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50
  • post:作者发布的所有作品
  • like:作者公开点赞的内容
  • mix:作者的合集
  • music:音乐原声文件
  • collect/collectmix:当前登录账号的收藏夹 / 收藏合集(只能单独用,且必须是你 Cookie 对应的那个账号)

number下的数字控制每种模式拉多少条,0表示不限。四种模式也可以同时写,程序会跨模式去重,同一个作品不会下两遍。

怎么避免重复下载

这是批量下载最容易踩的坑:跑过一次再跑,500 条视频又下了一遍?不会。database: true时,每个下过的作品 ID 会写进本地 SQLite 数据库(默认叫 dy_downloader.db),程序靠"数据库记录 + 扫描本地文件名里的作品 ID"双重检查来跳过已下载内容。

配合increase: post: true就是增量模式:每周跑一次,只下新发布的作品,旧的直接跳过。想查下载历史也简单,用 sqlite3 对 aweme 表发条 SELECT 就能看到所有作品的标题、作者、下载时间。

反过来,如果你想强制重下某条作品,只删数据库没用——它还会看文件。正确姿势是把这个作品的文件夹删了,再删掉数据库里对应那条记录,两处都清干净它才会重新下载。

目录怎么摆才不乱

默认配置下,每个作品单独建文件夹,视频、封面、元数据互不串位;作者一层按昵称分目录。两个配置项值得留意:

  • author_dir:作者目录的命名方式。默认nickname最直观,但两个同昵称作者会混在一起;改成nickname_uid(昵称加用户 ID)唯一但长,重度批量用户建议用这个
  • folderstyle: true:保持每个作品独立文件夹,关掉则文件平铺,容易撞名

filename_template控制文件名,内置变量有{id} {title} {date} {author}等,官方要求模板里至少含{id},否则同名作品会互相覆盖。

进阶调优:限流兜底、转写与评论

只抓到 20 条就停了?开浏览器兜底

批量下主页时最常见的情况:翻了几页突然停住,只剩 20 条左右。这是抖音的翻页风控,接口层面不再给你下一页了。

工具内置的解决方案是browser_fallback:检测到翻页卡住后,自动启动一个真实浏览器(基于 Playwright 的自动化),模拟人工滚动去翻剩下的页。配置里把headless: false保留着,弹窗出来时你手动过一次验证码就行,别急着关窗。max_scrolls控制最多滚多少屏,wait_timeout_seconds是整体超时时间。

注意:浏览器兜底目前只对post模式完整支持,like/mix/music主要靠 API 正常翻页。

磁盘不够用?先限数量再筛时间

一个几百条作品的主页,全量下来动辄几十 GB。两个开关控制体量:

  • number.post: 50只拿最近 50 条
  • start_time/end_time(格式YYYY-MM-DD)只下某个时间段内的作品

另外thread: 5是并发数,网络一般的机器调成 3 反而更稳;下载不完整时程序会按 Content-Length 比对文件,自动删掉坏文件并按retry_times: 3重试,不需要人工干预。

把文字也存下来:评论与语音转写

做内容研究的话,光有视频不够。comments.enabled: true会在每个作品旁边生成一个评论 JSON 文件(可再开二级回复);transcript.enabled: true会把视频里的语音转成文字,配好 OPENAI_API_KEY 后,每个视频旁多出.transcript.txt.transcript.json两个文件,方便做关键词提取、字幕生成这类后续处理。注意转写只对视频生效,图文不会转。

几个高频问题的快速答案

  • 进度条刷屏:默认progress.quiet_logs: true会静默进度日志,别手动关;调试时临时加-v看详细日志即可
  • 下载失败提示登录问题:十有八九是 Cookie 过期,重跑一次python -m tools.cookie_fetcher --config config.yml
  • 想换保存目录/并发数:命令行参数-p-t优先级高于配置文件,适合临时任务
  • 想看代码逻辑:下载器实现在 core/,URL 解析、各模式下拉策略都在里面,出问题翻源码比猜快

先试这几件事

第一次用建议按这个顺序:先下一条单视频确认环境没问题 → 再小批量跑一个作者主页(number.post: 10试试水)→ 开上increase增量模式,把它变成每周定时跑的归档任务。

最后提醒一句:下载内容仅供个人学习、研究和备份,商用和二次分发都请尊重创作者的版权。具体配置项的完整说明,以仓库里的 config.example.yml 注释和 README.zh-CN.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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 17:25:09

camofox-browser /snapshot端点深度解析:includeScreenshot与offset分页

camofox-browser /snapshot端点深度解析:includeScreenshot与offset分页 【免费下载链接】camofox-browser Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement. 项目地…

作者头像 李华
网站建设 2026/9/16 17:24:24

Harbor企业级镜像仓库从零部署与排错实战

1. 为什么需要自己搭一个 Harbor?——从“Docker Hub 被限速”说起Harbor 不是 Docker 的替代品,而是 Docker 生态里真正能让你把镜像“管起来”的那把锁。我第一次在客户现场踩坑,就是因为没提前搭 Harbor:开发团队用docker push…

作者头像 李华
网站建设 2026/9/16 17:14:04

如何精简 Windows 11 官方镜像:tiny11builder 实操

如何精简 Windows 11 官方镜像:tiny11builder 实操 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder tiny11builder 是一套 PowerShell 脚本集&#xff…

作者头像 李华