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本地内容库做到什么程度才算好用答案是一句判定规则同一个 aweme_id抖音作品的全局唯一标识无论来自哪个作者主页、哪次任务落盘只落一次再跑一遍只补新增和丢失的部分。douyin-downloader 就是为此设计的单链接自动识别类型主页链接按 post / like / mix / music 等模式批量抓取无水印源优先SQLite 记录下载历史失败按固定退避序列重试翻页受限还能弹浏览器人工兜底。如果你要把某个作者主页的存量作品视频、图文、合集、原声持续维护成一份可查、可补、不重不漏的本地档案它值得装进你的定时任务里。五分钟把第一个无水印文件跑到磁盘上这一部分给你从克隆仓库到出现第一个文件的完整命令序列每步都只留必要操作。要求 Python 3.9Windows、macOS、Linux 均可。完整流程如下git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt pip install playwright python -m playwright install chromium前两条装核心依赖Playwright 两条是为浏览器兜底预装 Chromium不装就无法使用翻页兜底。接着复制配置并登录拿 Cookiecp config.example.yml config.yml python -m tools.cookie_fetcher --config config.yml它会打开浏览器引导你登录抖音登录后回到终端按 EnterCookie 就自动写回 config.yml无需手工复制任何字段。把配置里的示例link换成目标博主主页形如https://www.douyin.com/user/{sec_uid}number.post填一个小的值如 1先试跑然后执行python run.py -c config.yml。命令行参数可以临时覆盖配置而不改文件-u追加链接不替换配置里的链接、-p换输出目录、-t调并发、-v打开详细日志。注意一个前提抖音接口风控目前已限制 CLI 对单个视频/图文、合集、音乐、喜欢和收藏的下载主页作品走 Playwright 浏览器兜底、不保证成功反复重试或更新 Cookie 解决不了这类风控。日常大批量场景建议配合同一套后端的 Douzy 桌面客户端命令行版更适合作为脚本集成和兜底手段。双重去重与增量更新判定规则先读懂看懂下面的判定顺序你就不会问为什么这条没重下/为什么重下了——这是整个工具最反直觉的地方。database: true默认时程序维护dy_downloader.dbSQLite 文件。每条作品是否要下载按三步判定程序首次运行会扫描整个下载目录、把所有文件名中的 aweme_id 建成本地索引本地文件命中即跳过这是第一道闸。本地缺失时看redownload_missing_files默认true文件缺失就重新下载不再查库。设为false时数据库里存在有效记录file_path 非空仍会跳过。数据库不可用或查询报错时宁可补下也不误判为已下载——状态不明偏向重下这是设计取向。由此得到两条容易踩的坑只删库记录、本地文件还在不会触发重下第一道闸仍命中只删文件、且redownload_missing_files: false也不会重下库记录兜住。想强制重下某条最省事的做法是把对应模式的increase.post设为false它会对当前筛选范围内的作品重新下载并原子覆盖无需清空数据库或者把文件和库记录一起删掉。number各模式独立设置post/like/mix/music/collect/collectmix0表示不限start_time/end_time按YYYY-MM-DD过滤发布区间包含结束日期当天。目录层级与文件命名一次配好省日后翻找这一节解决攒了几百个作品之后怎么找的问题全部规则都写在命名模板里。默认输出到./Downloaded/folderstyle: true默认时每个作品独占一个子目录group_by_mode: true默认时在作者目录下再分一层 post / like / mixDownloaded/ └── 作者昵称/post/ └── 2024-02-07_作品标题_aweme_id/ ├── 作品.mp4 ├── 作品_cover.jpg └── 作品_data.jsonauthor_dir决定作者目录怎么命名三个取值的取舍值得对照取值效果适合nickname默认最直观但重名作者会合并、作者改昵称会分裂成两个目录作者少sec_uid稳定唯一但目录名不直观纯机器管理nickname_uid昵称_sec_uid直观且唯一重度用户推荐注意切换author_dir只影响之后的下载不会迁移已存在的目录——换之前想好旧数据怎么办。filename_template与folder_template默认都是{date}_{title}_{id}可用变量包括{id} {title} {author} {author_id} {date} {year} {month} {day} {time} {timestamp} {type} {mode}。模板必须至少包含{id}不带{id}时同名标题会互相覆盖而且基于文件名的磁盘判重上一节的去重第一道闸也会失效。可用变量清单见 utils/naming.py。另一个容易忽略的点video默认开但music、cover、avatar、json全部默认关。这是有意为之——全开会平白多出几倍文件和请求。要封面、原声、元数据 JSON 就显式打开对应开关只影响后续下载。画质选择与视频源机制这一节讲清楚video_quality每种取值的实际请求行为差异选错档位会直接影响带宽和画质。抖音 API 为每个视频返回多档码率这个参数决定选哪一档取值行为代价highest默认只在码率阶梯里挑最高档无额外请求original额外探测上传原片在转码档列表之外可比最高转码档大数倍比最高转码档大才下载否则回退每条作品多一次探测请求超时 10 秒lowest最低可用档省流量1440p~360p指定分辨率匹配不到时自动降级到最接近的可用档实际可用档位取决于原视频上传质量选original不等于每条都拿到原片。音乐链接的行为另说优先下载原声文件音源缺失时回退到该音乐下的首条作品。稳定性开关重试、限流与浏览器兜底批量任务要过夜跑这一节的参数决定它凌晨会不会自己崩掉。retry_times默认 3含义是初次尝试之外再试 3 次共 4 次退避序列固定为 1s、2s、5s第 4 次仍失败按失败处理。rate_limit默认 2 请求/秒实现上相邻请求之间还会追加 0~0.5s 的随机抖动打散节奏降低撞风控的概率。proxy填代理地址后API 请求和媒体下载走同一出口。browser_fallback默认enabled: true翻页被接口限制时启动浏览器继续抓取。headless: false默认会弹出可见窗口出现验证码时手动完成、不要立刻关窗翻页才会继续max_scrolls默认 240 是滚动上限idle_rounds默认 8 是判定没有新内容的空闲轮数wait_timeout_seconds默认 600 是总等待上限。三个默认关闭的可选能力按需打开即可互不影响主流程comments每个作品额外生成*_comments.jsoninclude_replies控制是否拉二级回复max_comments为 0 表示不限量transcript只对视频作品生效图文不生成。开启后默认先用 ffmpeg 本地抽出单声道 mp3 再上传规避 25 MiB 单文件上限密钥走环境变量OPENAI_API_KEY状态记录在数据库transcript_job表notifications支持 bark / telegram / webhook 三类推送单路失败不阻断下载。高频问题与判定口径这四条覆盖了实际使用中反复出现的疑问每条给出可操作的判定口径。主页只抓到少量作品先确认browser_fallback.enabled: true且headless: false浏览器弹窗出现后手动完成验证、等翻页完成再关窗。若仍受限属于接口风控边界见上文当前限制换 Cookie 或重试解决不了。这条作品为什么被重新下载了对照三重判定本地文件命中→跳过本地缺失且redownload_missing_files: true→重下本地缺失、补下关闭但库里有有效记录→跳过。所以文件不见了本身就会触发重下这是设计行为而不是 bug。Cookie 失效了重跑一遍python -m tools.cookie_fetcher --config config.yml登录完成后自动写回配置。环境里想临时覆盖配置支持四个环境变量DOUYIN_COOKIE、DOUYIN_PATH、DOUYIN_THREAD、DOUYIN_PROXY优先级高于 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),仅供参考
返回列表