尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

抖音批量下载工具 douyin-downloader:把创作者主页作品一次归档到本地素材库

抖音批量下载工具 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 是一个开源的抖音批量下载工具支持视频、图文、合集、音乐原声的无水印下载内置增量去重、失败重试、进度展示与浏览器兜底。项目能力全景一句话定位面向个人归档与素材管理的 CLI 工具同一套后端也支撑其桌面客户端 Douzy内测中。核心能力多粒度批量下载作者主页作品post、点赞like、合集mix、音乐原声music以及登录账号收藏夹collect/collectmix无水印优先自动选择无水印视频源并按video.bit_rate档位挑选最高画质双重去重与增量下载SQLite 记录 本地文件扫描只补下新作品浏览器兜底API 翻页受限时启动真实浏览器支持人工过验证码稳定性机制指数退避重试1s/2s/5s、限速默认 2 请求/秒、Content-Length 完整性校验可选扩展评论采集、OpenAI 转写、直播录制、REST API 服务、完成通知推送快速跑通1. 安装git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt浏览器兜底功能需要额外安装 Playwright 与 Chromiumpip install playwright python -m playwright install chromium2. 配置复制示例配置字段说明见 config.example.yml填入你要下载的链接link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: [post] number: post: 0 # 0 表示不限数量 thread: 5 database: true3. 获取 Cookie 并运行Cookie 用于解锁点赞、收藏夹等登录内容tools/cookie_fetcher.py 可自动完成抓取python -m tools.cookie_fetcher --config config.yml在弹出的浏览器中登录抖音回到终端按 EnterCookie 会写回配置文件。然后启动下载python run.py -c config.yml命令行参数也可以直接追加链接与并发数例如python run.py -c config.yml -u 链接 -t 8 -p ./Downloaded。核心能力拆解下载逻辑位于 core/每种类型有独立下载器统一由run.py调度。批量下载用 mode 选择粒度mode决定扫描范围post为作者发布的作品like为点赞作品mix为合集music为音乐原声。number下按模式设置数量上限0表示全量。多模式可同时配置同一个 aweme_id 跨模式不会重复下载。收藏夹模式collect/collectmix仅对 Cookie 对应的登录账号生效且必须单独使用不能与 post/like/mix/music 混用。关键配置mode: [post, mix] number: post: 50 mix: 0无水印源与画质选择下载时自动选择无水印视频源。抖音 API 为每个视频返回多档码率video_quality决定选用哪一档original会额外探测上传原片比转码档可能大数倍代价是多一次探测请求highest为默认的最高转码档也支持指定1440p/1080p等分辨率匹配不到时自动降级。双重去重与增量下载程序用数据库记录 本地文件双重检查判断是否跳过只删数据库不删文件不会触发重下只删文件不删数据库会触发重下。开启increase后每次运行只补下新内容increase: post: true database: true翻页受限时用浏览器兜底当 API 翻页被风控拦截时browser_fallback会启动真实浏览器读取页面自己发出的作品列表请求并支持人工完成验证码。该机制目前仅对post模式做过完整验证browser_fallback: enabled: true headless: false max_scrolls: 240可选扩展评论、转写与直播评论采集comments.enabled: true后每个作品旁生成*_comments.json可选拉取二级回复视频转写transcript.enabled: true并配置OPENAI_API_KEY生成xxx.transcript.txt/json仅视频图文不转写直播录制链接指向live.douyin.com/{room_id}时生效FLV 直接可播中断时保留已录字节关键配置速查最常改动的配置项汇总如下完整字段以 config.example.yml 为准。配置项作用示例值mode下载范围post/like/mix/music收藏夹用 collect/collectmix[post]number.post等各模式数量上限0 为不限50increase.post等增量下载开关跳过已下载作品truethread并发下载数5retry_times失败重试次数3proxyAPI 与媒体下载的 HTTP/HTTPS 代理http://127.0.0.1:7890database/database_path启用 SQLite 去重与历史true/dy_downloader.dbvideo_quality画质选择original/highest/lowest/指定分辨率highestbrowser_fallback.enabled翻页受限时启动浏览器兜底truestart_time/end_time按发布时间过滤格式 YYYY-MM-DD2025-01-01folderstyle/author_dir按作品建子目录作者目录命名方式true/nickname_uidfilename_template文件命名模板必须含{id}防重名{date}_{title}_{id}progress.quiet_logs进度阶段静默日志减少刷屏true典型工作流场景一把某创作者全部作品归档到本地第一步将链接填入linkmode设为[post]number.post设为 0 表示全量第二步开启folderstyle: true并按author_dir: nickname_uid组织目录文件按日期标题ID 命名第三步保持browser_fallback.enabled: true且headless: false运行时若弹出验证窗口手动完成后再等待其继续第四步运行python run.py -c config.yml下载完成后在Downloaded/作者名/post/下按作品分目录查看并可用download_manifest.jsonl核对清单。场景二定期增量更新关注的主页第一步首次全量下载后将increase.post保持为true且database: true第二步之后每次运行同一配置程序只下载新发布的作品磁盘上已存在主文件的会跳过第三步若需要重下某个作品删除其本地目录目录名含 aweme_id并执行sqlite3 dy_downloader.db DELETE FROM aweme WHERE aweme_id aweme_id;。场景三备份登录账号的收藏合集第一步用 cookie_fetcher 登录目标账号获取 Cookie第二步链接填https://www.douyin.com/user/self?showTabfavorite_collectionmode设为[collect]或[collectmix]二选一单独使用第三步运行后文件分别落入collect/与collectmix/目录。注意收藏夹模式不支持增量截断number中对应值设为 0 即拉取全部。常见问题与排障现象原因解法只能抓到约 20 个作品翻页中断抖音翻页风控拦截了 API 分页确保browser_fallback.enabled: true、headless: false弹窗出现后手动完成验证不要过早关闭CLI 下载单个视频/合集/音乐报 403ArgusSecurityPlugin自 2026-09 起这些接口需要真实网页 SDK 生成的签名CLI 直连请求无法携带点赞/收藏夹类自 2026-08 起同样被拦截post 模式依赖浏览器兜底点赞、收藏、单视频等内容改用桌面客户端 Douzy见 ReleasesCookie 失效登录类内容下载失败Cookie 过期重新执行python -m tools.cookie_fetcher --config config.yml进度条刷屏、日志重复日志未静默保持progress.quiet_logs: true调试时临时加--show-warnings或-v删除文件后没有重新下载数据库记录仍在去重以库记录 本地文件双重判断删除记录sqlite3 dy_downloader.db DELETE FROM aweme WHERE aweme_id id;转写文件未生成仅对视频作品生效图文不转写依次检查transcript.enabled、OPENAI_API_KEY是否有效、response_formats是否含 txt/json进阶玩法REST API 服务安装fastapi uvicorn后执行python run.py --serve --serve-port 8000通过POST /api/v1/download提交任务GET /api/v1/jobs/{job_id}查询状态热搜与搜索python run.py --hot-board 30导出热搜榜 JSONLpython run.py --search 关键词 --search-max 100导出搜索结果完成通知notifications.providers支持 Bark / Telegram / Webhook企业微信、飞书、钉钉机器人 URL 同样可用单个推送失败不阻塞下载Docker 部署仓库自带 Dockerfile挂载config.yml与下载目录即可运行douyin-downloader 把收集—去重—归档做成了可重复执行的流程配置一次链接与模式之后靠增量下载持续同步配合数据库记录随时可查、可重下。项目采用 MIT 协议请仅用于个人学习与数据管理。小贴士模板命名务必保留{id}变量避免不同作品重名互相覆盖作者目录推荐nickname_uid昵称重名或改名时目录不会错乱。【免费下载链接】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),仅供参考
返回列表