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-downloaderdouyin-downloader 是一个抖音批量下载工具当你想把某位创作者主页下的几十条作品全部存到本地时只需要粘贴主页链接。它并发抓取无水印视频、合集与图文进度展示、失败重试、自动去重都是默认行为不需要额外的手动操作。30秒看懂解决的问题手动逐条保存太慢保存下来的文件还带着水印下载完的文件散落各处不好找。核心用法在配置文件里写好链接和保存目录一条命令跑完支持发布作品、喜欢、合集、音乐、收藏夹五种模式。和同类工具的区别多数工具只能下单条视频遇到接口限制就卡住。这个工具在翻页被风控时会自动开浏览器兜底还用 SQLite 数据库加本地文件双重去重重复运行不会重复下载。输出结构文件按作者名 / 模式 / 日期_标题_id自动归档每个作品一个独立文件夹视频、封面、音乐、元数据放在一起。⚙️ 动手之前装依赖很简单把代码块里的三行贴进终端即可git clone https://gitcode.com/GitHub_Trending/do/douyin-downloader cd douyin-downloader pip install -r requirements.txt然后是两件事准备配置文件以及拿到 Cookie。配置文件从仓库自带的示例复制一份只改要下载的内容即可link: - https://www.douyin.com/user/MS4wLjABAAAAxxxx path: ./Downloaded/ mode: - post number: post: 50 # 0 为不限量其中link填作品、主页或合集链接path是保存目录mode决定抓取类型post对应发布作品。Cookie 是最关键的配置项推荐自动获取python -m tools.cookie_fetcher --config config.yml终端会弹出一个浏览器窗口登录抖音后回到终端按回车Cookie 会自动写进配置文件。如果想手动配置把浏览器里复制的整串 Cookie 填到配置文件的cookies字段下即可。跑起来python run.py -c config.yml运行后终端里会出现 Rich 进度条实时显示每个作品的下载状态和整体计数跑完之后打开Downloaded/目录能看到以作者名命名的文件夹里面按post等模式分子目录每个作品一个文件夹文件名里带着发布日期、标题和作品 id。项目入口只有一个run.py不同场景通过参数切换场景入口一句话说明按配置文件批量下载python run.py -c config.yml最常用读配置执行临时追加链接追加-u 链接不改配置文件额外下载指定作品调整并发追加-t 8临时提高并发数关键词搜索 / 热搜榜--search 关键词/--hot-board 30结果导出为 JSONL不下载文件REST 服务模式--serve以 API 提交下载任务需另装 fastapi 和 uvicorn它是怎么工作的双通道抓取就像主路拥堵时自动切到辅路正常情况走接口翻页速度快且稳定当接口被风控限制、翻页拿不到新数据时browser_fallback会启动一个真实浏览器加载主页并模拟滚动弹验证码时人工过一次即可继续。相关逻辑在 core/api_client.py 和 core/user_downloader.py。双重去重像一份考勤表每个作品下载前先查 SQLite 数据库里有没有记录再扫描本地文件名中的作品 id两边都查不到才会真正发起下载。所以重复运行同一份配置是安全的增量模式increase也能只补新作品。记录落在 storage/database.py。限速与重试是让程序显得有礼貌的机制RateLimiter把请求压在默认 2 次/秒并加上随机抖动避免短时间密集请求单条任务失败后按 1s、2s、5s 的指数退避等待时间逐次拉长避免反复打同一个接口重试默认最多 3 次。实现在 control/rate_limiter.py 与 control/retry_handler.py。按需调整以下配置大多数人用不到需要时改config.yml里对应字段即可配置项默认值说明video_qualityhighest画质原画/指定分辨率thread5并发下载数retry_times3单任务重试次数rate_limit2每秒接口请求上限number.post等0各模式数量0 不限increase.post等true增量下载跳过已下载start_time/end_time空按发布日期过滤filename_template{date}_{title}_{id}文件与目录命名模板music/cover/jsonfalse是否连带下载音乐封面等proxy空HTTP/HTTPS 代理地址transcript.enabledfalse视频转文字需 API 密钥notifications.enabledfalse完成后推送通知️ 踩过的坑症状主页只能抓到 20 条左右的作品之后翻页不动。原因接口翻页触发了风控API 通道被限制。解法确认browser_fallback.enabled: true且headless: false程序会弹出浏览器手动完成页面验证后等它自己滚完不要立刻关窗口。症状之前能下载某天开始大量请求失败或返回登录页。原因Cookie 过期登录状态失效。解法重新跑一次python -m tools.cookie_fetcher --config config.yml即可旧 Cookie 会被覆盖。症状删掉了本地文件想重新下载程序却提示已存在、直接跳过。原因去重是数据库加本地文件双重判断文件没了但数据库记录还在时增量模式下仍会跳过。解法单独重下某条作品时把数据库里的记录也删掉sqlite3 dy_downloader.db DELETE FROM aweme WHERE aweme_id 作品id;想全部重下就同时清掉Downloaded/目录和dy_downloader.db。症状进度条和日志刷屏看不出实际进展。原因调试参数把 info 级日志打开了或progress.quiet_logs被改成了 false。解法保持progress.quiet_logs: true平时运行不要加--show-warnings或-v需要排查问题时再临时加上。这个项目适合需要长期跟踪某些创作者、按主页或合集批量收集素材或者给自己做内容备份的人。下载的内容请仅用于个人学习、研究与备份尊重创作者版权不要用于二次分发或商业用途。【免费下载链接】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),仅供参考
返回列表