☰
抖音主页去水印批量下载完整跑通:一条最小可运行路径
2026/9/27 21:20:22 网站建设 项目流程

抖音主页去水印批量下载完整跑通:一条最小可运行路径

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

抖音主页里的视频没法在官方 App 去水印保存,想回头补抓又得一条条手动下载。douyin-downloader 是一个 Python 命令行的抖音去水印批量下载工具:把主页或合集链接贴进去,它走接口拉取作品列表、挑最高码率的无水印文件落盘,并把每个作品写进本地数据库文件(SQLite),重复运行不会重复下载。本文从一个真实任务倒推最小配置集,最后留一份跑不通时按顺序排查的清单。

上图是同仓库桌面版的任务配置界面,供对照;CLI 由一份 config.yml 驱动。

只写 3 个键,先把最小流程跑通

这一节能让你对一个主页下载出第一批视频,全程只动 3 个配置键。先拉代码装依赖(Python 3.8+):

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 里只填这 3 个键:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 10

link 是主页地址,mode: post 表示作品模式,number.post: 10 只抓最近 10 条,写 0 为不限。也可以不改文件,用 -u 传链接、-t 传并发(默认 5)、-p 传保存目录。执行后文件落在Downloaded/作者名/post/日期_标题_aweme_id/:

python run.py -c config.yml

获取 Cookie 的最快方式

这一节解决首次使用最常见的卡点:💡 没有有效 Cookie 时,作品列表往往只能翻到 20 条就停。用自带扫码脚本一次搞定:

pip install playwright && python -m playwright install chromium python -m tools.cookie_fetcher --config config.yml

浏览器里扫完码,回终端按 Enter,工具会把拿到的 Cookie 写回 config.yml,过期就重跑这条命令。

存档竞品主页:一个真实任务的配置

内容团队跟踪竞品更新,想把对方近 30 天的新作品全部存下来、每周归档一次。配置只需在最小版上多两个键:

link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50 video_quality: highest

两个键要知道:

  • video_quality定保存画质,默认 highest(从码率阶梯里挑最高档);改成 original 会先探测上传原片,比最高转码档大就存它,代价是每条作品多一次探测请求;也可直接指定 1080p 这类分辨率,匹配不到时自动降级。
  • 稳定性参数:并发 thread 默认 5(家庭宽带建议 5~8)、retry_times 默认 3(失败按 1s/2s/5s 退避)、rate_limit 为 2 请求/秒。翻页被风控截断时,browser_fallback(默认开启)会自动弹出 Chromium 窗口,人工过一遍验证即可继续;滚得不够深就调大 max_scrolls(默认 240 轮)。

增量去重与删文件后怎么办

这一节解释第二次运行为什么不会重复。去重是双层的:dy_downloader.db里的 SQLite 记录 + 本地目录名里的 aweme_id(作品唯一标识)。所以删掉本地文件后,下次运行仍会跳过;确实要重下,删掉对应记录:

sqlite3 dy_downloader.db "DELETE FROM aweme WHERE aweme_id = '<aweme_id>';"

跑不通时按这个顺序排查

这一节是一张清单,按出现频率从高到低排:

  1. 只抓到 20 条就停→ Cookie 过期,重跑上文的 cookie_fetcher 命令。
  2. 反复弹浏览器窗口、翻页被截断→ 接口翻页被风控,保持 browser_fallback.headless: false(默认),在窗口里手动过验证。
  3. 下载全部失败→ 网络环境复杂,给 proxy 填一个代理地址,API 请求和媒体流都走它。
  4. 单个作品链接报 403→ 单作品接口有风控门禁,主页作品改用 post 模式 + 浏览器兜底更稳。

要改代码或接自动化流水线,先看这几个入口:

  • core/user_modes/:post / like / mix / music 四种模式各是一个策略类,新增内容类型 = 加一个策略类并注册
  • core/url_parser.py:短链与主页链接解析,新增链接格式从这里进
  • 加--serve --serve-port 8000可起 REST 服务(需 fastapi + uvicorn),POST /api/v1/download 提交任务

📌 把这份最小配置存好,每周重跑同一条命令,主页存档就会自动补上新作品。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询