ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

抖音批量下载工具教程:如何一次性存下创作者的 50 条作品(含封面、原声与元数据)

抖音批量下载工具教程:如何一次性存下创作者的 50 条作品(含封面、原声与元数据) 抖音批量下载工具教程如何一次性存下创作者的 50 条作品含封面、原声与元数据【免费下载链接】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 是一款开源的抖音批量下载工具Douzy 桌面版基于同一套后端构建。它支持视频、图文、合集、音乐原声的无水印下载能把用户主页作品整页批量抓取并自带进度展示、失败重试、SQLite 去重和浏览器兜底。本文跟着一个真实的下载任务走约 10 分钟就能跑通第一次批量下载。从一个具体任务开始把某位创作者最近 50 条作品存下来假设你在关注一位做美食教程的博主想把 TA 最近的 50 条作品完整存到本地——不只是视频文件还要封面图、背景音乐和作品元数据并且按「作者 → 发布时间」整齐归档以后再跑任务时不要重复下载。手动保存做不到这件事逐条复制粘贴链接效率极低存下来的文件没有统一的命名和目录结构过几个月也说不清哪些下过、哪些漏了。这类需求正是 Douyin Downloader 的设计目标一条主页链接进去一整个归档目录出来。上手只做两件事装依赖 首次认证工具要求 Python 3.8macOS / Linux / Windows 均可。git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt如果需要用到浏览器兜底或自动获取 Cookie第一次使用建议装再补两条pip install playwright python -m playwright install chromium接着完成首次认证。工具提供内置的 Cookie 获取器会打开一个浏览器窗口引导你手动登录抖音python -m tools.cookie_fetcher --config config.yml登录完成、首页显示已登录状态后回到终端按 Enter认证信息会自动写入配置文件。Cookie 只保存在本地不经过任何第三方服务器它过期了随时可以重跑这条命令刷新。配置本身不需要从零写所有字段都有合理默认值见 config/default_config.py在项目根目录建一个config.yml只写你要改的项即可。跑通第一个下载任务在config.yml里填入目标主页链接和数量上限link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx mode: - post number: post: 50 music: true # 同时保存背景音乐 cover: true # 同时保存封面 json: true # 保存完整元数据然后运行python run.py -c config.yml工具会先拉取作品列表再以默认 5 个并发、每秒 2 个请求的限速下载终端里能看到实时进度条。完成后打开Downloaded/目录结构大致是Downloaded/ └── 作者名/ └── post/ └── 2026-09-12_作品标题_aweme_id/ ├── …_data.json ├── …_cover.jpg ├── …_music.mp3 └── …mp4每条作品一个独立文件夹文件名里的日期取的是作品发布时间而不是下载时间方便按时间线回溯。如果你更喜欢图形界面同一套后端还有 Douzy 桌面版目前内测可从项目 Releases 页获取安装包粘贴链接即可开始下载任务状态、重试和输出目录都在界面上直接操作。把下载内容管好命名、去重与元数据命名规则可自定义。文件名和文件夹默认都用{date}_{title}_{id}模板可替换的变量包括{id}、{title}、{author}、{date}、{year}、{month}、{day}、{type}、{mode}等完整白名单见 utils/naming.py。作者目录名支持nickname默认、sec_uid、nickname_uid三种风格——昵称重名会合并、改名会分裂目录想稳妥就选nickname_uid。一个实用建议模板里保留{id}因为工具的磁盘判重依赖文件名中的作品 ID去掉它会导致增量下载失效。去重与增量是双保险的。每次运行都会同时检查 SQLite 数据库默认dy_downloader.db和本地文件两者都确认已存在才跳过数据库里有记录但文件丢了默认会重新补下redownload_missing_files: true。配合increase.post: true默认开启定期重跑同一个任务就只拉新作品这是「持续更新资料库」玩法的基础。想重新下载某条作品把对应文件夹和数据库记录都删掉即可只删其中一边是不生效的。元数据留痕。开启json: true后每条作品旁都有完整的_data.json输出根目录还会追加一份download_manifest.jsonl清单逐条记录日期、标签、文件名、发布戳适合长期检索。数据库里的aweme表存了作者、发布时间、保存路径和原始 metadata可以直接用 SQL 分析sqlite3 dy_downloader.db SELECT author_name, title, datetime(download_time,unixepoch,localtime) FROM aweme ORDER BY download_time DESC LIMIT 20;三个值得了解的高阶开关浏览器兜底browser_fallback。这是应对抖音风控的保命开关当主页翻页被 API 限制、只抓到前 20 条左右时工具会自动启动浏览器用页面自己发出的请求继续翻页弹出验证时你可以手动完成。需要保持headless: false才能在窗口里操作验证。另外要说明一个背景2026 年 8、9 月起抖音的 Argus 风控陆续拦截了 CLI 直连的部分接口点赞、收藏、单视频详情等主页作品翻页也可能触发限制——此时浏览器兜底或改用桌面版通过内置登录窗口代发请求不受影响是主要路径详见 README.zh-CN.md 的限制说明。语音转写transcript。开启后每条视频会被本地 ffmpeg 抽成单声道音频再调用 OpenAI Transcriptions API密钥走OPENAI_API_KEY环境变量在视频旁生成.transcript.txt/.transcript.json。转写只对视频生效图文不处理适合做内容摘要或关键词检索。完成推送notifications。下载跑完无论成功或失败可并发推送到 Bark、Telegram 或任意 Webhook单个渠道失败不会阻塞主流程。批量任务耗时较长有了推送就不用盯着终端。卡住了先查这三个常见卡点只抓到 20 条左右就停了→ 翻页被风控限制。确认browser_fallback.enabled: true且headless: false浏览器弹出后手动过完验证不要立刻关窗口Playwright 未安装时兜底不会生效。Cookie 失效、请求大量失败→ 重跑一次python -m tools.cookie_fetcher --config config.yml即可通常每周检查一次就够了。删了文件却没重新下载或反之→ 记住双重判重只删数据库不删文件不会触发重下文件名里的 ID 还在被扫到只删文件不删数据库则会重下。要彻底重来两边都清要整库重建就同时删掉Downloaded/和dy_downloader.db。顺带一提进度刷屏是日志没静默progress.quiet_logs: true默认已开启能解决。下一步跑通第一个任务之后建议按这个顺序扩展把number.post改成0做全量归档再开increase定时增量用start_time/end_time圈定时间范围需要研究数据时打开评论采集comments.enabled: true。部署到服务器可直接用仓库自带的 Dockerfile或加--serve以 REST API 服务模式运行供外部系统调用。最后提醒本项目适用于个人学习、研究与数据备份。请尊重创作者的劳动成果不要将下载内容用于商业用途或侵犯他人隐私、版权因平台接口策略变化导致的功能波动属于正常技术风险遇到时留意仓库的更新说明。【免费下载链接】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),仅供参考
返回列表