抖音视频下载: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 是一款开源免费的命令行工具,专门做抖音无水印批量下载:视频、图集、合集、音乐(原声)都支持,下好的文件按作者和作品自动归类,还用本地数据库记住「下过什么」,重复跑绝不重复下载。这篇文章带你从零跑通:装环境 → 下第一条 → 批量扫主页 → 卡住怎么办。
装环境:克隆仓库并安装依赖
Python 3.9+ 即可,Windows、macOS、Linux 都能跑:
git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt装完后,再装一次浏览器组件,风控兜底和扫码登录都靠它:
pip install playwright playwright install chromium抖音的内容接口要求登录态才能正常返回,所以下载前要拿一次 Cookie,这个动作只需做一次:
python -m tools.cookie_fetcher --config config.yml这条命令会弹出一个浏览器窗口,用手机抖音扫码登录一次,回到终端按回车,Cookie 就写进配置文件了 ✅ 之后不用管,失效了再扫一次就行。
场景一:单条无水印视频下载
把仓库里的config.example.yml复制一份改着玩:
cp config.example.yml config.yml只需要动几个字段,其余保持默认:
link: - https://v.douyin.com/你的短链接/ # 作品链接,短链、分享页都行 path: ./Downloaded/ # 保存到哪儿 mode: - post # 下载作者发布的作品 cookies: auto # 自动读取上面扫码保存的 Cookie # 其余保持默认运行:
python run.py -c config.yml跑完打开Downloaded/,你会看到一个以作者昵称命名的目录,作品按「日期_标题_作品ID」独立成文件夹,里面是无水印视频本体;把配置里music、cover、json这几个开关改成true,还能一并留下原声、封面和元数据。
场景二:批量下载作者主页作品
单条通了之后,把link换成作者主页链接就行,批量参数都在同一个文件里:
link: - https://www.douyin.com/user/作者主页链接 mode: - post # 下载发布的作品 # - like # 取消注释:同时下载 ta 点赞过的内容 # - mix # 取消注释:下载 ta 创建的合集 number: post: 0 # 0 = 不限量,全部下载 thread: 5 # 并发线程数 increase: post: true # 增量开关:跳过已下载的作品 # 其余保持默认去重靠的是本地 SQLite 数据库dy_downloader.db(配置项database: true,默认开启)。每次下载前先查库、再查文件,两头都确认没下过才动手,所以同一作品换个链接、换个模式再跑,都会直接显示跳过。想持续跟踪某个更新勤的作者,increase保持true即可——只补新作品,旧的自动略过;哪天想重新下,把它改成false,不用动数据库。
跑不动的时候看这里
反复提示登录失效 / Cookie 无效→ Cookie 有时效,过期或被平台风控就会作废。重新跑一次python -m tools.cookie_fetcher --config config.yml扫码即可,顺手确认config.yml里cookies字段确实有内容。
批量下载到一半停住不动→ 多半是翻页触发了平台人机验证,工具在等你手动过。保持browser_fallback启用且headless: false,看到弹出的浏览器窗口就手动完成验证,任务会继续;确实卡死就 Ctrl+C,已下完的文件都保留着,重跑时数据库会自动跳过,等于断点续传。
明明没下过,却显示「跳过」→ 数据库里已经登记过这件作品(比如之前用别的链接下过同一个视频),双重去重正常生效。这是预期行为;如果文件确实丢了想重下,把increase对应项设为false再跑。
下载速度慢→ 先看看网络环境,也可以在thread上把并发从 5 调到 8 试试;不建议无限加大并发,越猛越容易触发风控。
合集或主页只抓到少量作品→ 风控拦截了翻页,把browser_fallback.enabled设为true、headless设为false,在弹出的浏览器里手动完成验证后继续等;频繁重启进程只会让风控更严。
还能怎么玩:进阶配置速查
video_quality— 画质:默认highest取最高转码档,original会额外探测上传原片start_time/end_time— 按日期范围过滤作品,格式YYYY-MM-DDdownload_pinned—true时连主页置顶作品一起下comments.enabled— 每个作品额外采集评论到*_comments.jsonlive— 直播房间链接录制(实验功能)
完整字段和中文注释都在config.example.yml里,照抄改值就行。
一次链接进去,无水印作品批量搬进本地、自动分好文件夹、重复任务自动跳过,这套流程跑下来基本就覆盖了日常 90% 的需求。工具负责搬运,搬什么、拿去做什么由你自己决定:只保存自己有权保留的内容,尊重每位创作者的心血。
【免费下载链接】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),仅供参考