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 就是一个为这类抖音下载需求写的命令行工具给它一条分享链接它解析出无水印视频源落盘成 mp4给它一个主页链接它按你指定的数量批量抓取作品、点赞或合集再配合 SQLite 记录重复运行只补新内容。下面从零配置开始按单条、主页、直播三种场景带你跑通最后覆盖增量与排障。装好依赖、配好登录态三步跑出第一条视频整个工具是纯 Python 的macOS、Linux、Windows 都能跑要求 Python 3.8 及以上。把仓库克隆下来后装依赖即可git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txtrequirements.txt 里是aiohttp网络请求、aiosqlite本地库、rich终端进度条等库装完不用额外编译任何东西。接下来是配置文件。仓库自带一份带注释的 config.example.yml复制成config.ymlrun.py 默认读取这个名字cp config.example.yml config.yml这份示例文件字段齐全你只需要动三处link里写要下载的链接、path指定保存目录、cookies填入登录凭据。关于 Cookie抖音的接口只有在携带有效登录凭据时才返回完整的作品与主页数据所以这一步绕不开。项目提供了带浏览器的自动抓取脚本 tools/cookie_fetcher.py先装好 Playwrightpip install playwright python -m playwright install chromium然后运行python -m tools.cookie_fetcher --config config.yml它会打开一个 Chromium 窗口你扫码或输入账号登录抖音登录成功后回到终端按回车脚本就把ttwid、odin_tt、passport_csrf_token、msToken等关键项写进config.yml的cookies字段同时另存一份到config/cookies.json。不方便装 Playwright 时也可以手动在浏览器登录抖音网页版按 F12 打开开发者工具从任意请求的标头里复制完整 Cookie 拆开填进cookies字段。Cookie 只在本地保存登录态有时效性失效了重新跑一次上面的脚本刷新即可。配置就绪后最短路径就一条命令python run.py -c config.yml终端会打印Database initialized随后进入带进度条的下载会话。项目另有一个基于同一套后端的桌面版 Douzy内测中下面是它抖音工作台的界面方便你直观感受链接粘贴到下载完成的流程按场景下载一条视频、一个主页、一间直播间三种场景用的是同一套入口区别只在link里放什么、mode与number怎么写。无水印保存一条视频最省事的做法是配置文件都不用改直接在命令行把链接追加进去python run.py -u https://v.douyin.com/xxxxx/ -p ./Downloaded/-u可以重复出现一次塞多条链接-p临时覆盖保存目录v.douyin.com这类短链会被自动展开解析。工具会挑选无水印的视频源下载默认从码率阶梯里取最高一档video_quality: highest也可设为original探测上传原片。folderstyle默认为true所以落盘结构是Downloaded/下按作者建目录作者目录下按模式再分一层如post/每个作品一个子文件夹命名来自filename_template的默认值{date}_{title}_{id}。示例Downloaded/ └── 某作者/ └── post/ └── 2026-06-01_视频标题_aweme_id/ └── 2026-06-01_视频标题_aweme_id.mp4默认配置里只有video: true即只保存视频本体想要同作品的封面、原声、作者头像、元数据 JSON把 config.example.yml 里的cover、music、avatar、json对应打开即可产物会以_cover.jpg、_music.mp3、_data.json等后缀落在同一文件夹里。抓取整个创作者主页要归档某个创作者把他的主页链接https://www.douyin.com/user/MS4wLjABAAAAxxxx这种形式写进link再用mode和number控制抓什么、抓多少link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 发布作品换成 like 抓点赞、mix 抓合集、music 抓音乐 number: post: 50 # 只取最近 50 条0 表示不限制mode可以一次列多个同一个作品跨模式出现时会自动去重。注意登录账号的收藏夹模式collect/collectmix只能单独使用不能与post、like等混排。桌面版里关注管理工作区就是把这种主页同步做成可视化的样子——筛选创作者的新作品并直接下载运行后终端为每个作品输出进度条结束后打印 Overall Summary 汇总成功、失败、跳过三组数字。文件按作者 → 模式 → 作品三层目录归档便于长期按创作者检索。录制直播间把链接换成live.douyin.com/{room_id}或/follow/live/{room_id}形式工具就切换成直播录制解析出 FLV/HLS 源后持续落盘主播下播、网络空闲超时或你手动 CtrlC 时已经录到的字节都会保留临时文件会被转正为最终文件。可用参数在live段live: max_duration_seconds: 3600 # 0 一直录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30命令照旧python run.py -u https://live.douyin.com/123456789 -p ./Downloaded/产物在Downloaded/{作者}/live/{日期_标题_RoomId}/下是 FLV 文件和一份*_room.json房间信息快照。有一点要心里有数FLV 源可直接播放HLS 源目前只保存播放列表需要的话要用 ffmpeg 自己转。让它越用越省心不重复下载、跑得稳、只取某段时间跑通之后下面几组开关基本决定了这个工具能不能长期当归档机器用。不重复下载增量模式 SQLite 双保险长期跟踪主页时没人想每次全量重拉。两个字段配合使用database: true # 默认开启记录每次下载的历史 database_path: dy_downloader.db increase: post: true # 该模式开启增量增量的判断逻辑是数据库记录 本地文件双重检查作品的主文件已经存在于当前下载目录且数据库有有效记录时直接跳过。反过来删掉本地文件会触发重新下载只删库不删文件则不会重下。increase目前作用于post/like/mix/music四种模式收藏夹模式暂不支持增量截断。跑完一轮后日志会多出跳过计数说明去重生效了。任务中心一类的界面则负责处理失败项查看结果、对失败的重试、直接打开输出目录跑得稳并发、限速与重试都是可配的批量任务最怕把请求打得太猛。三个参数控制节奏默认值已经比较克制thread: 5 # 并发下载数-t 参数可临时覆盖 rate_limit: 2 # 全局限速每秒最多 2 次请求 retry_times: 3 # 单条失败重试次数重试采用指数退避1 秒、2 秒、5 秒配合限速可以显著降低触发风控的概率。面对作品量很大的主页或频繁被限的场景把thread调低比硬扛更有效下载过程本身还有完整性校验内容长度对不上的不完整文件会被自动清理并重试不需要人工挑坏文件。另外browser_fallback默认开启当post模式翻页被平台限制时工具会弹出一个可见的浏览器窗口让你手动完成验证别提前关掉它。只取某段时间的作品时间过滤用两个日期字段格式YYYY-MM-DD留空则不过滤start_time: 2024-06-01 end_time: 2024-06-30范围外的作品会被跳过老主页或作品量极大的账号做定向归档时非常有用。想连置顶作品一起抓再把download_pinned设为true默认不下载置顶。出问题时这样查先认日志里的关键词排障时先看终端里的提示文案和日志定位思路比答案更重要。看到请先登录登录态失效status 2483登录凭据过期了。交互环境下 CLI 会自动提示并引导重新登录、重试一次非交互环境则按提示手动处理。验证方法很简单重新执行python -m tools.cookie_fetcher --config config.yml刷新再用一条短链接试跑能出进度条说明恢复。主页只抓到 20 条左右就停了这是典型的翻页被风控拦截。依次确认三件事browser_fallback.enabled是否为true、headless是否为false无头模式无法人工过验证、浏览器弹出后是否把验证流程走完。验证方法重跑同一条主页链接观察跳过/总数是否明显增长。日志里频繁出现 403 或限流字样请求节奏撞到了风控。先调低thread比如-t 2确认rate_limit没有被改大换移动网络再试如果问题只出现在特定链接单独跑那条并加-v看详细信息。重跑后出现重复文件或跳过了本该下载的先检查database是否仍为true以及dy_downloader.db有没有被移动或删除——它是去重的一半依据。半套数据会导致判断错乱只删文件保留库会触发重下只删库保留文件则不会。必要时整体重置删掉Downloaded/和数据库文件比手工修记录更干净。顺带一提progress.quiet_logs默认静默进度阶段的日志调试时加--show-warnings或-v临时打开就能看到被压掉的警告信息。合规提醒与下一步建议最后说点正事下载下来的内容请仅用于个人学习、研究与资料管理尊重创作者的版权与劳动成果不要用于二次分发或任何商业用途账号凭据也仅保存在你自己机器上注意保管。把主线流程固化下来之后比较舒服的用法是给常跟踪的主页保持database: true与increase开启按固定周期比如每周重跑同一条命令本地库就会只补新作品备份时记得把Downloaded/目录连同dy_downloader.db一起带走两者缺一去重判断就不再完整。【免费下载链接】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),仅供参考