Expand description
BMS 难度表数据获取与解析库
提供从网页或 JSON 源构建完整的 BMS 难度表数据结构,涵盖表头、课程、奖杯与谱面条目等。 结合可选特性实现网络抓取与 HTML 解析,适用于 CLI 工具、服务端程序或数据处理流水线。
§功能概述
- 解析表头 JSON,支持收集未识别的额外字段
- 解析谱面数据,兼容数组或
{ charts: [...] }两种格式 - 课程数据支持从
md5/sha256列表自动转换为谱面条目 - 可选特性
reqwest提供一站式网络获取接口 - 可选特性
scraper支持从 HTML<meta name="bmstable">提取头部 JSON 地址
§快速上手
use bms_table::fetch::reqwest::fetch_bms_table;
let table = fetch_bms_table("https://stellabms.xyz/sl/table.html").await?;
println!("{}: {} charts", table.header.name, table.data.charts.len());§特性说明
reqwest:启用网络获取功能(默认启用)scraper:启用 HTML 解析(用于从页面提取 bmstable 头部地址)
Modules§
Structs§
- BmsTable
- 顶层 BMS 难度表数据结构。
- BmsTable
Data - BMS 表数据。
- BmsTable
Header - BMS 表头信息。
- Chart
Item - 谱面数据项。
- Course
Info - 课程信息。
- Trophy
- 奖杯信息。