5 步搬空一个抖音视频库:无水印批量下载与增量同步实操指南
5 步搬空一个抖音视频库无水印批量下载与增量同步实操指南【免费下载链接】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企业培训组每周一要给 10 个行业讲师归档本周新课App 却只能带水印逐条保存。douyin-downloader 是一个 Python 命令行工具喂进主页、合集或直播间链接并发抓取无水印视频按「作者/日期/标题」自动归档并用 SQLite内置数据库文件去重——重跑时只捞新作品。先确认它适不适合你项目说明适合谁需要批量归档抖音主页 / 合集 / 直播间的运营与课程团队要做舆情分析、需要评论原始数据的分析师本地产物无水印 mp4、封面、原声、data.json含点赞数与发布时间、评论*_comments.json、直播 flv、搜索与热搜 JSONL逐行 JSON 数据文件前置条件Python 3.9一份有效的抖音 Cookie自带脚本扫码即可拿到要用浏览器兜底时还需 Chromium同一套后端还打包了 Douzy 桌面版适合单个作品、可视化任务管理批量归档则用本仓库的 CLIpython run.py。最短跑通路径装依赖、扫 Cookie、首跑① 拉代码装依赖。git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader python -m pip install -r requirements.txt python -m pip install playwright python -m playwright install chromium前三行装好 Python 依赖最后一行把扫码登录要用的浏览器驱动和 Chromium 也装齐。② 扫码拿 Cookie。cp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml弹出 Chromium 窗口扫码登录抖音后回终端按 Entertools/cookie_fetcher.py 会把 Cookie 直接写回 config.yml。 没有有效 Cookie 时作品列表经常只翻到 20 条就停。③ 首跑。python run.py -c config.yml把配置里的link换成目标主页再执行终端会走 Rich 进度条文件落在./Downloaded/旁边生成dy_downloader.db历史库专门记住哪些已经下过。挑三个常用任务跑一遍任务一竞品主页归档成本地素材库每天只补新作品任务目标盯住一个主页反复运行但不重复下载。link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 0 # 0 表示不限数量 cover: true json: true increase: post: true # 跳过已下载作品默认只存视频本体打开cover/json后会多存封面和作品 JSON。预期产物Downloaded/作者名/post/日期_标题_aweme_id/每个作品一个子目录。aweme_id作品唯一标识写进目录名配合数据库双重去重第二天再跑只捞新增。任务二整场直播录成 flv 存档任务目标直播间从开播录到主播下播中途 CtrlC 也不丢已录部分。link: - https://live.douyin.com/123456789 live: max_duration_seconds: 0 # 0 录到主播下播预期产物Downloaded/{作者}/live/下的 flv直播流封装格式加一份房间元数据快照。HLS 源只存播放列表需要时再用 ffmpeg 二次合成。任务三评论与搜索结果导出成数据任务目标做舆情分析前先攒原始料——作品评论和关键词命中的作品清单。comments: enabled: true include_replies: true max_comments: 500python run.py --search 关键词 --search-max 100预期产物每个作品媒体文件旁多出*_comments.json第二条命令把 100 条命中作品以 JSONL 写进search/目录。想抓热搜榜把命令换成--hot-board 30即可。调参与排障 先调这几个最有用的参数参数建议值作用thread5并发下载数家庭宽带再高容易撞限流retry_times3失败重试次数间隔 1s / 2s / 5s共 4 次尝试rate_limit2每秒请求数防风控的安全线video_qualityhighest在 bit_rate 码率阶梯里挑最高档改original会探测原片但每条作品多一次请求其余几个browser_fallback.max_scrolls默认 240 轮滚动翻页深就调大proxy填写后 API 请求和媒体流都走代理path换根目录folderstyle: false把「作者/模式/作品」三级归档拍平。为什么列表翻到 20 条就停API 翻页被风控截断了。保持browser_fallback.enabled: true和headless: false浏览器窗口弹出后手动过一遍验证码翻页就会继续别急着关窗口。本地文件删了为什么下次还跳过去重是双份的SQLite 记录 文件名里的 aweme_id。想补下某一条用sqlite3 dy_downloader.db删掉 aweme 表对应行想全部重下把increase.post设为false重下会覆盖当前筛选范围不用清数据库。单个视频或合集链接报 4032026-08/09 起抖音给这些接口加了风控门禁非浏览器请求直接被拒。主页作品走 post 模式加浏览器兜底单个作品建议用 Douzy 桌面版。代码结构上core/url_parser.py 负责短链与主页链接解析post / like / mix / music 下载模式做成策略类放在 core/user_modes/新增内容类型加一个策略类注册即可Cookie 生命周期由 auth/cookie_manager.py 统一管理。现在就试培训组的归档难题按这三步走一遍就行python -m tools.cookie_fetcher --config config.yml扫码写回 Cookie把要盯的主页链接填进 config.yml 的link确认increase.post为truepython run.py -c config.yml——从下一条新作品开始素材库自动归档。【免费下载链接】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),仅供参考