尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

抖音批量下载全攻略:一个配置文件搞定视频、图集、合集与音乐

抖音批量下载全攻略:一个配置文件搞定视频、图集、合集与音乐 抖音批量下载全攻略一个配置文件搞定视频、图集、合集与音乐【免费下载链接】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-downloaderdouyin-downloader 是一款开源的抖音批量下载工具主打去水印下载支持视频、图集、合集、音乐原声、直播录制等多种内容类型同时提供作者主页批量下载、SQLite 去重、浏览器兜底等实用能力。本文将以从下载第一个视频到日常自动化为线索带你完整走一遍这个工具的使用流程。先看清它能下载什么在动手之前值得花一分钟确认这个工具的射程范围。douyin-downloader 支持的内容类型比大多数同类工具都全内容类型链接形态说明单个视频/video/{id}、短链v.douyin.com自动优先无水印源单个图文/note/{id}、/gallery/{id}图集多图完整保存单个合集/collection/{id}、/mix/{id}整个合集一次拿下单个音乐/music/{id}优先原声文件缺失时回退到该音乐下的首条作品作者主页/user/{sec_uid}支持 post/like/mix/music 四种模式收藏夹/user/self?showTabfavorite_collection当前登录账号的收藏作品与收藏合集直播live.douyin.com/{room_id}FLV/HLS 录制主播下播保留已录数据这里有个容易忽略的细节短链不用手动解析。你在抖音 App 里复制的https://v.douyin.com/xxxx/链接可以直接丢给工具它会先解析出真实地址再决定下载方案。第一次运行3 步拿到第一个视频整个上手过程只有三步装依赖、配 Cookie、跑命令。第一步安装依赖pip install -r requirements.txt如果你后面想用浏览器兜底功能或者想自动获取 Cookie再多装一个 Playwrightpip install playwright python -m playwright install chromium第二步准备配置文件。复制项目自带的示例配置cp config.example.yml config.yml然后打开config.yml把link换成你想下载的地址比如一个视频链接link: - https://www.douyin.com/video/7604129988555574538 path: ./Downloaded/第三步运行python run.py -c config.yml一个无水印的 MP4 就会出现在./Downloaded/目录下同时下载的还有封面图、原声音乐、作者头像和一份 JSON 元数据。看到进度条走完你就已经完成了一次完整的下载流程。接下来的问题是怎么从下一个变成下一批。作者主页批量下载4 种模式怎么选批量下载是 douyin-downloader 的核心场景入口是一个用户主页链接加一组mode。支持的四种模式对应一个作者主页上的四类内容link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post # 作者发布的作品 - like # 作者点赞过的作品 - mix # 作者创建的所有合集 - music # 作者使用过的音乐 number: post: 50 # 只下最新 50 条 like: 0 # 0 表示全量number是每种模式的下载数量上限0 代表不限制。四种模式可以同时开启工具会自动去重——同一个作品在 post 和 like 里都出现了只会下载一次。下载目录会按作者名 → 模式 → 作品自动分层同一作者的 post 和 like 内容不会混在一起Downloaded/ └── 作者名/ ├── post/ │ └── 2024-02-07_作品标题_aweme_id/ │ ├── ...mp4 │ ├── ..._cover.jpg │ ├── ..._music.mp3 │ ├── ..._data.json │ └── ..._avatar.jpg └── like/ └── ...如果你只想追更某个博主的新作品不用重复全量下载——把对应模式的increase打开工具会结合数据库记录只拉新增内容increase: post: true database: true批量任务的实时进度可以在终端里直接看到每个作品的下载状态、成功失败数都会动态刷新。翻页被限制浏览器兜底机制是怎么工作的批量抓取作者主页时最常遇到的坑是只能抓到 20 条作品。这不是工具的 bug而是抖音对接口分页的风控。douyin-downloader 的应对方案是浏览器兜底当 API 翻页受限时它自动拉起一个浏览器模拟真人滚动页面来采集作品 ID再用 API 补全详情并下载。你需要做的只是在配置里打开这个开关browser_fallback: enabled: true headless: false # 非无头模式浏览器窗口会弹出来 max_scrolls: 240 idle_rounds: 8 wait_timeout_seconds: 600关键就在headless: false。浏览器窗口弹出后如果遇到滑块或验证码手动完成验证不要急着关窗口工具会继续滚动采集。等采集完它自己会关闭。需要注意两点浏览器兜底目前只对post模式做了完整验证like/mix/music主要依赖 API 正常分页另外兜底是最后手段正常运行时不依赖浏览器不会拖慢下载速度。下载完整性校验与重试失败不会静默溜走批量下载几百条内容网络抖动和接口抽风是常态。douyin-downloader 在这层做了两道保险完整性校验下载完成后比对 Content-Length文件不完整会自动清理并重新下载不会把半截视频存进你的目录。指数退避重试失败后按 1 秒、2 秒、5 秒的间隔重试默认 3 次retry_times: 3可配置。同时它内置了速率限制默认每秒最多 2 个请求避免高频请求触发平台风控这也是合规使用的一部分。并发数通过thread控制默认 5网络好的机器可以调到 8 左右但不建议无脑拉高。双重去重机制为什么重复跑不会浪费流量批量下载最怕重复劳动。douyin-downloader 用数据库 文件系统双重检查来避免这种情况SQLite 记录每次下载都会写入dy_downloader.db默认生成在工作目录记录作品 ID、作者、下载时间、保存路径。文件系统识别文件名里嵌有 aweme_id作品唯一 ID重跑时会扫描本地文件判断是否已存在。这意味着你重复执行同一个命令已经下载过的作品会被直接跳过。跨模式同样生效——post 里下过的like 模式不会再下第二遍。如果你确实想重新下载某个作品需要同时清理本地文件和数据库记录只删一边都不行# 删除本地文件文件名中包含 aweme_id rm -rf Downloaded/作者名/post/*_aweme_id/ # 删除数据库记录 sqlite3 dy_downloader.db DELETE FROM aweme WHERE aweme_id aweme_id;增量下载increase正是建立在这套去重机制之上所以它要求database: true。批量之外的高阶能力当批量下载跑顺之后这个工具还能干几件超出预期的事按实用程度排序关键词搜索与热搜榜——不需要输入主页链接直接按关键词找内容结果导出为 JSONL 文件python run.py --search 猫咪 --search-max 100 -p ./Downloaded python run.py --hot-board 30 -p ./Downloaded评论采集——下载的同时把作品的评论可含二级回复抓下来输出*_comments.json适合做内容分析comments: enabled: true include_replies: false max_comments: 500 page_size: 20直播录制——填一个直播间链接配置好时长上限就能开始录主播下播或 CtrlC 中断时已录数据会保留为正式文件link: - https://live.douyin.com/123456789 live: max_duration_seconds: 3600 # 0 表示录到主播下播 chunk_size: 65536 idle_timeout_seconds: 30录制好的 FLV 存在Downloaded/{作者}/live/下附带一份*_room.json直播间元数据快照。完成后通知——下载任务跑完往你的手机或企业群推送结果支持 Bark、Telegram、Webhook 三种渠道多个渠道可同时启用单个失败不影响下载主流程。REST API 服务模式——把下载能力变成 HTTP 接口方便集成到其他系统pip install fastapi uvicorn python run.py --serve --serve-port 8000提供/api/v1/download提交任务、/api/v1/jobs/{job_id}查询状态、/api/v1/health健康检查等接口完成的任务按 24 小时 TTL 自动清理。项目还配套了基于同一套后端的桌面客户端 Douzy内测中提供粘贴链接即刻下载、关注列表同步、任务中心可视化等界面能力批量任务的执行状态一目了然。下载后的文件长什么样默认配置下每个作品是一个独立文件夹命名模板可以自定义filename_template: {date}_{title}_{id} folder_template: {date}_{title}_{id}可用变量包括{date}、{author}、{title}、{id}、{like_count}等要求模板里至少包含{id}避免重名覆盖。日期前缀用的是作品发布时间而非下载时间这样归档时按日期浏览非常直观。每个作品文件夹里的内容视频无水印优先、自动选最高码率、封面、原声音乐、作者头像、JSON 元数据以及可选的评论数据和转写文本。JSON 元数据里包含点赞数、评论数、分享数等统计信息适合做数据分析。另有一份download_manifest.jsonl清单文件每行一条 JSON记录日期、作品 ID、作者、标题、标签、文件路径等字段相当于整个下载库的索引。高频问题速查Q1只能抓到 20 条作品这是翻页风控。确保browser_fallback.enabled: true且headless: false弹出浏览器后手动过验证别急着关窗口。Q2Cookie 失效了重新获取即可工具支持自动拉起浏览器登录并写回配置python -m tools.cookie_fetcher --config config.ymlQ3部分视频下载失败视频被删、设为私密、网络中断都可能导致失败。工具会自动跳过失败项继续后面的下载需要排查时加--verbose看详细日志。Q4进度条刷屏怎么办默认progress.quiet_logs: true已经会在进度阶段静默日志排查问题再临时加-v。一个可持续的工作流综合下来日常维护一个博主资料库的推荐做法是首次运行number.post: 0全量下载建立完整库。日常更新打开increase.post: true配合database: true每天只拉新增。定时任务配合 crontab 或任务计划程序每天凌晨跑一次python run.py -c config.yml配合通知推送实现无人值守。结果管理按日期、作者、标签从 SQLite 或 manifest 清单里检索内容。最后提醒一句工具面向技术研究、学习交流和个人数据管理请尊重版权与平台规则下载的内容不要用于商业侵权用途。把工具用对地方它就是你内容库的得力助手。【免费下载链接】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),仅供参考
返回列表