程序聚合 软件案例 用于批量下载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%
相似推荐
教育安全风险防控云平台
一、项目背景 校园安全是教育事业高质量发展的底线与基石,关乎广大师生生命财产安全、校园和谐稳定以及社会公共安全秩序。 目前,多数校园安全管理存在明显短板:一是安全教育流于形式,线下宣讲、主题班会等传统模式趣味性、互动性不足,师生安全素养提升效果有限;二是安全管理流程不规范,人员、隐患、物资、制度等管理数据分散,台账统计繁琐、更新滞后,缺乏统一的数字化管理载体;三是应急处置体系不完善,突发事件预警不及时、处置流程不清晰、协同联动效率低;四是风险监测缺乏智能化手段,对校园各类安全隐患无法实现实时监测、提前预判;五是安全风险评估缺乏标准化、数字化依据,隐患分级、风险定级主观化严重,无法实现精准管控。 在数字校园、智慧教育建设的大背景下,依托大数据、互联网技术赋能校园安全治理,构建智能化、全流程的校园安全风险防控体系,已成为中小学、高校安全管理工作的必然趋势。基于此,本项目依托.NET Core 3.1与MySQL数据库,搭建校园安全风险防控云平台系统,整合安全教育、日常管理、应急处置、风险监测、智能评估全业务场景,打破传统安全管理壁垒,实现校园安全从“人工粗放管理”向“数字精准管控”的转型升级。 二、核心功能模块介绍 2.1 安全教育系统 该模块是校园安全前置防控的核心载体,聚焦师生安全素养提升,打造线上常态化、多元化安全教育体系,解决传统安全教育形式单一、覆盖面有限、效果难以考核的问题。系统支持分类搭建安全教育资源库,涵盖消防安全、交通安全、防欺凌、防诈骗、食品安全、应急避险、网络安全、心理健康等各类校园安全专题,可上传科普视频、图文资料等多元化学习素材。 2.2 安全管理系统 该模块是校园日常安全管控的核心基础模块,覆盖校园安全日常运营全业务场景,实现校园安全管理标准化、规范化、台账化。模块聚焦校园日常安全治理痛点,涵盖人员安全管理、场地设施管理、安全巡查管理、隐患台账管理、制度文件管理、值班值守管理等核心功能。 2.3 应急管理系统 该模块专注于校园突发事件全流程处置管控,构建“预案储备-应急响应-协同处置-复盘总结”的完整应急管理体系,解决校园突发事件处置混乱、响应滞后、协同低效的问题。模块核心包含应急预案管理、应急资源管理、突发事件上报、应急指挥调度、应急处置记录等功能。 2.4 风险监测预警系统 该模块是平台智能化防控的核心核心,依托数据采集与智能分析技术,实现校园安全风险动态监测、实时预警、提前干预。模块可对接校园各类安全相关数据,涵盖日常隐患排查数据、人员流动数据、环境安全数据等多维度信息。 2.5 安全风险评估系统 该模块是校园安全精准管控、科学决策的核心支撑,基于标准化评估规则,实现校园安全风险智能化、数字化、科学化评级与研判,解决传统风险评估主观化、不规范、无依据的问题
在线学习平台
1. 全流程业务闭环 - 课程模块:课程包、班级、教师、章节管理,按课程包组织学习内容。 - 学习模块:视频学习(支持 HLS 流媒体)、学习进度实时追踪、详情记录、导入导出。 - 考试模块:试卷与题库管理、在线答题、自动评分。 - 证书模块:考试通过后自动/手动发证,证书统一管理。 - 统计模块:首页实时/学习概况、学习统计详情,多维度数据可视化。 2. 考试安全与过程监管 - 人脸识别:学习与考试环节接入人脸识别,防止代学、替考。 - 行为监控:考试中实时上报异常行为,监控切屏、离开等操作,并对接第三方学习行为监控系统。 - 数据留痕:全过程行为数据可追溯,满足审计要求。 3. 多角色分级权限 - 平台按运营管理端 / 机构端 / 学员端三类角色动态生成菜单与路由,按钮级权限控制,数据按组织隔离。 4. 安全与工程化 - 登录密码 RSA 加密传输,接口统一鉴权(Token)。 - 动态路由权限、多页签、响应式布局,适配 PC 与移动端。
ai聊天应用
一个基于 **Flutter + Rust 混合架构**的 AI 智能体桌面客户端。前端用 Flutter 构建界面,通过 flutter_rust_bridge 与 Rust 引擎(`rust_lib_agent`、`code_forge`)通信。 应用围绕 AI 聊天展开:支持多智能体管理、流式输出、富文本编辑、MCP 服务接入、工具调用权限控制;内置 PTY 终端面板和独立文件编辑器窗口,并提供模型供应商管理、本地大模型推理(llamadart/llama.cpp)、检查点、技能与命令系统。状态管理使用 signals,支持跨窗口与跨进程同步,覆盖 Windows、macOS 及 Android/iOS 移动端。 整体上是一个"聊天 + 终端 + 编辑器"一体的 AI 编程工作台,前端负责交互,Rust 引擎驱动智能体执行,前后端通过统一事件流协作。
自定义键盘插件
业务背景 KeyPanel 是服务于证券交易全流程的各类数值与凭证输入。 证券交易对输入的要求远高于普通表单:价格必须精确到 2 位小数,委托数量必须是 100 股的整数倍,资金与交易密码必须绕过第三方输入法以规避键盘记录风险,且买入、卖出需通过红蓝配色强化操作语义。系统原生键盘在这些维度上均无法满足——它只能事后校验再报错,无法提供场景化按键,也无法保证输入安全与视觉一致性。KeyPanel 正是为解决这些业务痛点而设计。 覆盖业务场景 系统共 7 套键盘模板,覆盖全站全部输入场景: 交易登录(type 1/2):数字与字母双键盘,支持 123/ABC 标签页切换,数字键可乱序,用于账号与密码输入。 股票代码搜索(type 3):顶部提供 600/601/000/002/300 常用代码前缀,支持 ABC 键切换字母键盘。 下单交易(type 4/5):价格键盘提供 00 补位键便于快速输入整数价位;数量键盘左侧集成「全仓 / 半仓 / 1/3仓 / 1/4仓」快捷仓位键。 银证转账(type 6/7):金额键盘采用内联模式嵌入页面流;密码键盘去除小数点,专用于资金密码与银行密码录入。 核心功能 输入精度前置拦截。支持最大长度、重复小数点拦截、小数位超限自动截断(非四舍五入),非法字符在输入阶段即被拒绝,而非事后弹错。 场景化快捷按键。仓位比例键、代码前缀键、00 补位键、ABC/123 键盘切换键,均为证券业务专属。 安全与合规。密码输入全程走自绘键盘,不触发系统输入法;登录类键盘支持数字键随机乱序,防范窥屏与按键记录。 主题适配。内置明暗双主题共 26 组色值,业务侧可通过 themeOverride 覆盖确认键颜色,实现买入红、卖出蓝的语义化配色。 完整交互体验。提供按键放大气泡、键盘滑入滑出动画、点击外部自动关闭、position: fixed 浮层输入框避让、确定键 Promise loading 防重复提交,以及可点击定位的光标。 双挂载模式。支持全局弹出(命令式 API,脱离文档流挂载至 body)与内联嵌入(声明式,占据页面流)两种方式,适配不同页面布局。
企业级Excel自动化处理系统 V8.2
立项背景和目标:针对中小企业财务、电商运营、人事行政等岗位人工处理大量Excel数据耗时且易错的问题,独立研发的一款带现代化UI界面的自动化工具,可将人工需几小时的工作压缩至3秒内。 软件功能:支持多文件合并去重、按任意列一键拆分、手机号脱敏、脏数据智能清洗(去空格/全角半角转换)、多列联合模糊比对、高级筛选(包含大于/小于/大于等于等)、自动生成处理报告并一键导出PDF。 业务流程:用户选中文件后,软件自动识别Sheet和列名;用户下拉选择处理规则(去重/拆分/清洗等),点击执行,实时预览结果并导出。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服