抖音无水印视频与直播批量录制: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 提供三个开箱即用的动作:粘贴单条视频链接,保存无水印原片;粘贴创作者主页链接,整页作品批量归档进按日期组织的目录;粘贴直播间链接,开始实时录制,主播下播后文件保留、可离线回看。
它把定位放在实用二字上:单条作品、图文、合集、音乐四类链接都能处理,直播录制、评论采集、热搜榜导出、关键词搜索、REST 服务一并覆盖。个人存素材、运营盯竞品、课题采数据都用得上,会写几行 YAML 就能跑起来。
能力一览:六项核心能力与边界
- 无水印下载:自动选择无水印源与最高可用码率,1080P 原画质可以保留;上限取决于原片上传质量。
- 多模式批量下载:覆盖作品 post、点赞 like、合集 mix、音乐 music 四种模式,单条链接与主页整页抓取都行;当前登录账号的收藏夹另可用 collect、collectmix 归档,这两个模式必须单独使用,不能与上面四种混用。
- 抖音直播录制:FULL_HD1、SD1、SD2 对应 1080P、720P、480P 三档清晰度;FLV 文件可直接播放,HLS 源只保存播放列表,需 ffmpeg 后处理;主播下播或中断时已录部分保留。
- 去重与增量:SQLite 数据库与本地文件双重去重,同一作品重复执行会被跳过;打开 increase 开关后只拉新发布的内容。
- 评论与热榜采集:按作品抓评论,可选包含二级回复,输出 JSON;--hot-board 导出热搜榜,--search 导出关键词搜索结果,两者均落盘为 JSONL。
- REST API 服务:用 --serve 启动(可选依赖 fastapi + uvicorn),下载任务通过接口提交与查询,适配自动化流水线。
快速上手:三分钟跑通首次无水印下载
第一步 douyin-downloader 安装与环境准备。前置条件是 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第二步 抖音 Cookie 配置。跑内置的自动获取脚本:浏览器会打开抖音登录页,登录完成后回到终端按回车,Cookie 就写进配置文件:
python -m tools.cookie_fetcher --config config.yml脚本依赖 Playwright,首次使用先装好,一次性动作:
pip install playwright python -m playwright install chromium第三步 贴链接开跑。config.yml 里只留三个键:
link: - https://www.douyin.com/video/7341234567890123456 path: ./Downloaded/ mode: [post]运行python run.py -c config.yml,结束后无水印视频落在 path 指定的目录。number.post 控制条数,0 表示全量抓取;想省事的话,桌面客户端的链接工作台也可以直接粘贴开下:
典型工作流:批量归档创作者主页与直播录制
竞品周报。运营侧的固定动作是盯住一批竞品主页的最新作品。把这些链接写进 link,mode 设为 post 和 like,作品与点赞内容一次抓齐:
link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: [post, like] increase: { post: true }每周第二次执行只取新增内容,形成增量档案。产物是按作者与日期组织的目录树,例如 作者名/post/2024-01-01_作品标题_aweme_id/,每件作品带元数据 JSON,封面与背景音乐开关按需打开。竞品清单同步后,桌面版的关注管理里可以筛选出新作品并一键下载:
嘉宾直播归档。把 live.douyin.com 房间链接写进 link 就开始录制,FULL_HD1(1080P)、SD1(720P)、SD2(480P)三档按存储预算挑。FLV 文件录完即可播放;HLS 源保留播放列表,需 ffmpeg 后处理;主播下播或网络中断时,已录部分保留,离线回看没问题:
douyin-downloader 抖音直播录制清晰度选择界面
自己的收藏夹归档。主页链接填 /user/self?showTab=favorite_collection,mode 设为 collect 或 collectmix。这两个模式只支持当前登录 Cookie 对应的账号,且必须单独使用。
不管直播录制还是批量下载,任务中心里每个任务的状态、成功数与可重试的失败项都能直接看到:
进阶调优:线程、命名与通知推送
并发、命名、通知可以在一份配置里一起收掉:
thread: 8 # 按带宽调,建议 4-16 proxy: "" # 需要代理时填,如 http://127.0.0.1:7890 folderstyle: true # 按作品建子目录 notifications: enabled: true providers: - type: bark url: https://api.day.app/YOUR_DEVICE_KEY线程数按带宽对号入座:50Mbps 配 4 到 6 线程,100Mbps 配 8 到 12,200Mbps 以上配 12 到 16。folderstyle 打开后,文件按作者、模式、作品三层组织,post、like、mix、music 各占一个子目录;命名模板默认是日期_标题_作品编号的组合,也可以改成自定义格式。notifications 支持 bark、telegram、webhook 三个通道,并发推送,单通道失败不阻塞主流程;on_failure 打开后失败也会提醒。
排错速查:高频问题直接给答案
只抓到 20 条就停:典型的翻页风控。把 browser_fallback 的 enabled: true 与 headless: false 打开,浏览器窗口弹出后手动完成验证再关;兜底目前只在 post 模式完整验证。
Cookie 失效请求报错:重新执行python -m tools.cookie_fetcher --config config.yml,把新 Cookie 写回配置即可。
下载速度慢:先查 thread 并发设置与 proxy 字段,代理格式例如 http://127.0.0.1:7890;线路拥塞时先把线程数调下来再谈提速。
怎么查下载历史:记录在本地 dy_downloader.db 数据库里,用 sqlite3 直接查:
sqlite3 dy_downloader.db "SELECT aweme_id, title, author_name FROM aweme ORDER BY download_time DESC LIMIT 20;"某条作品需要重新下载:重新下载要同时清理本地文件与数据库记录,删掉含该 aweme_id 的目录,再删掉数据库对应行;程序靠两者双重判断是否跳过。
代码导读:四个文件看核心结构
auth/cookie_manager.py:负责 Cookie 解析与会话管理,自动与手动两种获取方式都从这里进。core/user_modes/:每种主页批量模式对应一个独立策略类,post、like、mix、music 各占一个文件。core/downloader_base.py:BaseDownloader 基类,并发下载、失败重试、断点续传都在这层。storage/file_manager.py:管文件命名、目录创建与去重检查,按配置的模板组织落盘文件。
douyin-downloader 把无水印视频、批量归档、直播录制、评论采集压缩成几行命令和一份 YAML。按快速上手的三步先跑通,再对照排错速查处理翻车场景。项目开源且持续迭代,发现风控策略变化或想补的场景,欢迎参与项目讨论并提建议。
【免费下载链接】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),仅供参考