news 2026/11/3 10:16:17

如何用抖音下载器一次下完一个主页的 50 条作品

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用抖音下载器一次下完一个主页的 50 条作品

如何用抖音下载器一次下完一个主页的 50 条作品

【免费下载链接】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

上周有同事问我,有没有办法把他常看的三个抖音主页、每个最新 50 条视频,去水印后按作者归好档存进 NAS。我拿 douyin-downloader 试了一轮,先说结果:能跑,但有两个坑必须提前知道——凭证会过期,平台风控也会变。这个 Python 项目把抖音批量下载拆得很干净:Cookie 登录态、限流、去重、浏览器兜底各管一摊,跑一次之后,同样的命令隔周再跑只会补新作品。

先说结论:值不值得花二十分钟

  • 它是免费开源的 Python 项目,全程本地运行,不经过任何第三方解析站,链接、Cookie、素材都不出机器;
  • 每次下载都会把作品标识写进本地 SQLite,二次运行自动跳过已存在的部分,这就是"增量"能成立的前提;
  • 它不追求"永远最快",而是把并发、限速、重试都放在可配置、可预期的轨道上——批量抖音下载里,稳定比速度值钱。

功能地图:一个项目管四类活儿

  • 单作品与图文去水印保存:拿到一条视频或图集链接,直接存成干净文件,适合临时收藏、二次剪辑。
  • 主页批量抓取:link里放作者主页 URL,mode选post(作品)、like(喜欢)、mix(合集)、music(音乐原声),可叠加多选,适合按作者建素材库。
  • 增量与历史:默认开启增量,跳过已下载作品;start_time/end_time还能按日期窗口筛,适合每周定时补库。
  • 可选附带物:封面、作者头像、JSON 元数据、评论采集、完成通知都能单独开关,适合要把素材直接喂给音乐软件或档案系统的场景。

仓库其实分两条产品线:命令行版只管抖音,日常全平台下载官方推荐的是桌面版 Douzy(README 说明);本文只讲命令行这条线。

抖音批量下载器最快上手四步

第 1 步,拿代码、装依赖。Python 3.9 以上即可,浏览器兜底需要 Playwright:

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

第 2 步,拿 Cookie。这是全流程唯一要人参与的一步,命令会拉起浏览器:

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

登录完成回到终端按回车,Cookie 就写进了配置。

第 3 步,改最小配置。打开 config.example.yml 对照,真正要动的只有这几处:

link: - https://www.douyin.com/user/某个sec_uid path: ./Downloaded/ mode: [post] number: post: 50 # 0 表示不限 increase: post: true # 跳过已下载

第 4 步,跑起来。一行命令,终端会实时刷进度和跳过计数:

python run.py -c config.yml

为什么敢让它连跑一晚上

翻过源码之后,有三处设计让我敢把长任务挂上去不管。

其一,限流不是口号。control/rate_limiter.py里全局只有一个令牌口,默认每秒放行 2 个请求,每次放行还额外加 0~0.5 秒随机抖动——请求节奏是"看起来像人"的,而不是一刀切的匀速。批量任务里,这就是"慢一点但不断"和"快一点但被掐"的差别。

其二,去重落在数据库。每成功一条,storage/database.py会把作品aweme_id记进 SQLite;下一轮任务开工前先查库,命中即跳过,磁盘上的主文件若缺失还会按redownload_missing_files决定要不要补。你不用自己维护"哪些下过了"。

其三,浏览器兜底带手动出口。API 翻页受阻时会拉起一个真实浏览器窗口继续抓,且headless: false——碰上滑块验证,人过去点一下,任务就能继续,而不是整批报废。

但要说实话:截至仓库 README 的现状说明,抖音风控已经收紧,CLI 直连接口下载单个作品、合集、音乐、喜欢这几类会被拦,主页作品走 Playwright 兜底"不保证成功",日常高频使用官方建议转 Douzy。CLI 的强项,更多在批量流程、归档和增量这套工程化能力上。

Cookie 过期了怎么办,还有两个坑提前避

  • 关于请求频率:thread默认 5、限速默认 2/s,这两个值都别调高。我见过的失败模式几乎同一种:并发一拉满,限流和风控一起上,整体耗时反而更长。
  • 关于凭证时效:Cookie 一般撑几周到一两个月。失效的典型症状是"列表抓得到、作品下不动",不用排查网络,直接重跑python -m tools.cookie_fetcher --config config.yml刷新即可;cli/main.py里还有自动重登录逻辑,检测到未登录会自己弹浏览器补一次。
  • 关于目录结构:filename_template/folder_template支持{author}、{date}、{id}等变量,规则要求模板里必须带{id}防止重名覆盖。命名规则一旦定错,几百条文件只能重下——建议第一天就想清楚"作者/日期/标题"的层级,再开跑。

谁适合、谁不必

适合:有固定关注的几个作者、每周想增量补齐素材库的人;喜欢命令行加定时任务、想把素材按作者归档进 NAS 或音乐软件的人;需要 JSON 元数据、评论采集这类附带产物的研究者。

不必:只是偶尔存一两条视频,浏览器另存或网页解析更省事;完全不想碰终端的,直接用仓库里的 Douzy 桌面版;对"百分百必成"有硬要求的,先把 README 里的风控限制读完再决定。

最后照例提醒:下载内容仅用于个人学习、研究与数据备份,尊重平台规则和创作者版权,别把素材直接拿去做二次分发——这条边界,比工具本身更值得守住。

【免费下载链接】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/11/3 10:13:20

Meshroom三维重建:不写一行代码,把照片串成3D模型只需5分钟

Meshroom三维重建:不写一行代码,把照片串成3D模型只需5分钟 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom Meshroom 是一个开源的、基于节点可视编程的三维重建工具。…

作者头像 李华
网站建设 2026/11/3 10:08:22

【数据分析】DAU 实战手册:从定义到增长的完整闭环

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/3 10:04:36

STM32智能药盒

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/3 9:56:49

【深度学习】CNN(卷积神经网络)从零开始教程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/3 9:53:12

PE文件之导入表(一):导入函数调用机制、导入表基本结构

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华