程序聚合 软件案例 用于批量下载Kemono帖子内容的高度可自定义性的命令行工具-KToolBox

用于批量下载Kemono帖子内容的高度可自定义性的命令行工具-KToolBox

2026-03-15 21:18:21
行业:内容平台、音视频
载体:爬虫/脚本、框架或代码包
技术:Python、Pytest、dotenv

业务和功能介绍

该项目是一个用于批量下载 Kemono 中帖子内容的实用命令行工具,在 GitHub 上开源,500+ stars。

## 功能

- 支持多文件并发下载
- API 调用和下载失败后 **自动重试**
- 支持下载单个帖子以及指定的画师的 **全部帖子**
- 可 **更新已下载** 的画师目录至最新状态
- 支持自定义下载的帖子/画师的 **文件和目录名格式**、**目录结构**
- 例如帖子目录可设置为 `[2025-01-02]_TheTitle` 的格式,图片文件设置为按顺序的 `1.jpg`、`2.jpg` 等
- 当你希望将某作者的所有帖子图片统一存放至一个目录下,以便预览,可以使用 `job.mix_posts` 配置项搭配自定义文件名格式,你将得到几百上千张图片的目录
- 如 `[2025-01-02]_TheTitle_1.jpg`、`[2025-01-02]_TheTitle_2.jpg`、`[2025-01-02]_TheTitle_3.jpg` 等
- 支持排除 **指定格式** 的文件或仅下载指定格式的文件
- 例如当你不想下载庞大重复的 PSD 和压缩包文件时,可以在配置中排除 `.psd` 和 `.zip` 文件
- 支持按**文件大小**过滤下载
- 例如,如果你想在磁盘空间不足时避免下载大型视频文件,可以在配置中设置最大文件大小限制
- 你也可以设置最小文件大小,以跳过下载缩略图或预览图片
- 支持按帖子**标题关键词**过滤下载
- 例如你只想下载标题中包含“表情、効果音差分”的帖子,可以使用 `sync-creator` 命令的 `--keywords` 选项
- 如果你想排除标题中包含指定关键词的帖子,可以使用 `--keywords-exclude` 选项
- 支持按帖子发布日期**时间范围**过滤下载
- 能够解析帖子页面 HTML 多信息文本中包含的图片并下载
- 这类帖子特征为:浏览器页面刚进入时图片可能没有加载出来,且没有预览图
- 能够收集帖子页面中列出的**网盘链接**并保存至文本文件
- 可搜索画师和帖子,并导出结果
- 如果你希望自己处理画师和帖子数据,可以使用该功能导出 JSON 数据
- 支持全平台,并提供 iOS 快捷指令
- 纯 Python 分支可在 iOS 的 a-Shell 或浏览器的 Pyodide 上运行

项目实现

- API 管理
- 通过 datamodel-codegen 读取Kemono的OpenAPI Schema文件,生成API所需的所有Pydantic模型。
- 用Pydantic来管理API的数据类型和格式,而不是JSON,这样开发过程代码提示、后期可维护性强。
- 抽象API调用,使API Base URL等允许用户额外自定义,而业务逻辑中无需实现完整的API调用过程。
- 配置管理
- 通过 Pydantic Settings 管理用户配置,用户配置从环境变量和.env文件中读取,而不是json,因此用户可选择只配置部分需要替换默认值的配置项
- 使用 urwid 为 Pydantic 基类模型设计配置TUI编辑器,使其对所有配置类别通用,而无需单独设计每个配置类别的TUI界面
- 功能实现
- 项目宗旨是为批量下载Kemono资源提供便利性和高度可自定义性,由于Kemono内帖子资源文件类型多样且数量庞大,因此需要满足用户对例如目录结构、文件命名格式、根据扩展名排除以及按时间范围和数量范围下载等
- 项目打包分发
- 项目通过 poetry 管理依赖和构建,并为不同功能设置可选依赖(如TUI界面)
- 通过 GitHub CI/CD 自动化完成项目的打包和分发流程,包括wheel构建、pyinstaller打包以及随后的GitHub Release、PyPI 包发布,而无需人工操作,全过程透明,使分发的软件安全性得到保证。
- 测试
- 通过 pytest 编写测试
- 通过 codecoverage 统计代码覆盖率并汇报至平台
- 每次 Pull Request 都会触发代码覆盖率检测,检查新代码是否缺少测试程序
- 使用 CI/CD 自动化触发测试
- 文档
- 使用 mkdocs 以及 mkdocstrings 完成文档自动化构建,而无需重复编写如用户配置的文档。
- 使用 CI/CD 自动发布文档

示例图片视频


Ljzd-PRO
30天前活跃
方向: 后端-Python、爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
粮食收购点出入口系统-粮食收购点出入口系统
1.为了乡镇粮食收购点的业务功能如:出入库、记录库存、统计查询使用方便 2.满足多个收购点多租户登录使用 3.满足多个品种地磅进行系统适配使用 4.满足多个品牌摄像头接入 5.能够进行实时小票打印,包含销售模块、收购模块,能够根据小票的二维码快速查询信息
江西省人民医院医疗廉洁防控平台
对接医院信息系统,自动归集:处方、医嘱、药品耗材使用、检查检验申请、收费结算、耗材采购、设备采购、患者就诊、医保结算等全量业务数据,形成医疗行为大数据池。 内置风控规则模型,自动筛查异常行为并预警:大处方、重复开药、高频开同类检查、耗材异常使用、同一医生高频开具特定药品 / 耗材、超适应症检查、医保违规结算等;按风险等级分为红 / 黄预警,自动推送至医务、医德医风办、纪检部门。
课表查询(正方教务系统多校适配版)
高校教务系统(正方 jwglxt 等)是学生查询课表、成绩、考试安排的唯一官方入口, 但普遍存在四个现实问题:一是登录需 RSA 加密加密并对接 CSRF 令牌,页面为服务端 渲染的复杂表格,手机浏览器打开体验极差;二是课表的单双周、分段奇偶、调休与临时 停课信息只能靠学生自己推算,极易看错;三是成绩与绩点口径混乱,挂科课程常被错误 计入"已获得学分",导致学生无法与学校数字对账;四是空教室只能逐节次手工查询, 效率极低。学生每周都要反复核对课表与空教室,却缺少一个能在手机上清晰查看、并可 一键导入系统日历的工具。本项目立项,即为解决高校学生在课表、成绩、考试、空教室 四类高频信息上的查询成本问题。
WPF上位机-上位机SCADA/HMI
🌟 核心架构与技术亮点 (Architecture Highlights) 🔄 内存级环形缓冲区 :采用手搓环形队列实现高频采集与消费解耦,极大地降低 C# 垃圾回收 (GC) 压力支撑界面流畅渲染。 ⚡ 自研轻量级数据核心 :轻量级内存数据核心,高性能内存状态机,实时采集点位高速路由,实时状态响应与事件报警分发。 ⏱️ 自适应时间补偿 :基于高精度 Stopwatch 计时,动态修正采集调度周期,抑制高频采集任务的时间漂移与时序抖动 🔒 无饥饿并发控制 :基于轻量级异步锁+线程池隔离策略,PLC通信负载与UI线程解耦。
智能汽车项目
完成汽车某些功能的座仓设计与交付,使座仓具备了高端的应用场景与用户使用感受;汽车座仓的流畅度设计,保障汽车在整体市场的高竞争力;汽车座仓的人因设计效果的落地与实施效果跟踪与改进,保障汽车在整体市场的高竞争力。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服