程序聚合 软件案例 用于批量下载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
24小时内活跃
方向: 后端-Python、爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
物联网-智能电表数据采集方案
一、电表本地通信协议(最主流) DL/T 645 国内电表标配通信协议 用于:电表 ↔ 采集器 / 集中器 常见版本:2007 版 DL/T 698.45 新一代智能电表、高级量测体系(AMI) 主流协议 更安全、支持大数据量、远程控制 二、无线 / 远程传输协议(集中器→平台) MQTT 物联网主流,轻量、省电、稳定 智慧园区、智能电表云平台常用 TCP/UDP + 电力行业规约 基于 TCP/IP 封装电力规约传输 蜂窝通信 4G/NB-IoT 硬件通道 上层仍跑电力规约(DL/T 645/698)
企业银行系统
这是一个全功能在线银行系统,覆盖零售银行的六大核心业务线:账户管理(活期/定期账户、余额查询、交易流水)、转账汇款(行内转账、收款人管理、单笔限额控制)、定期存款(3/6/12/36月四档定存、提前支取按活期利率计息)、贷款服务(信用贷/房贷/车贷三种产品、等额本息/等额本金/先息后本三种还款方式、完整还款计划)、理财投资(货币/债券/混合/股票四类基金、持仓盈亏按日计算、赎回本息归还)、信用卡(普卡/金卡/白金卡三档、月度出账单、部分还款)。同时配套管理后台,支持审批工作台、客户管理、审计日志查询和运营报表。
绘制
1. 业务和功能介绍 (Business and Function Introduction) 1.1 项目概述 本项目是一个基于 Python 语言的轻量级图形绘制程序。利用 Python 标准库中的 turtle(海龟绘图)模块,通过代码指令控制绘图指针的运动轨迹,从而实现几何图形的自动化绘制。该项目主要用于编程教学、几何可视化演示或简单的图形素材生成。 1.2 核心功能 图形绘制:能够自动绘制一个标准的五角星形状。 视觉定制: 颜色配置:支持自定义描边颜色(黄色)和填充颜色(红色)。 线条粗细:支持设置画笔的粗细程度(设置为 10 像素),增强视觉效果。 交互控制:程序运行结束后窗口不会立即关闭,而是等待用户点击鼠标后再退出,方便用户查看绘制结果。 1.3 应用场景 编程教育:作为 Python 入门课程案例,帮助初学者理解循环结构(for 循环)、函数调用及库的使用。 几何教学:直观展示五角星的几何构成(外角 144 度,边长固定)。 简单素材生成:快速生成特定配色的五角星图标(如国旗元素、评分星级等)。
汽车零部件仓储管理
汽车总装厂的零部件仓库的管理系统 包括基础数据管理,包括仓库管理,库位管理,零部件管理,供货商管理,用户管理,仓库管理员的管理,出入库管理,借还货管理,供应商管理,供货商供应零部件管理,盘点管理,配送管理等。并且与生产管理系统和财务管理系统有接口
智能家居-睡眠温控床垫系统
项目介绍:基于 STM32F407 设计的智能睡眠温控系统,实现床垫分区加热控制、温度湿度采集、PWM 功率调节和环境联动控制。系统支持上下半身独立控温,结合传感器数据进行温控,调节环境湿度和谐,提升睡眠环境舒适度。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服