ataoytun/koreanbuilds-api
GitHub: ataoytun/koreanbuilds-api
非官方记录的 koreanbuilds.net API 参考文档与 Python 客户端,涵盖逆向工程过程说明和匿名化响应样本。
Stars: 0 | Forks: 0
# koreanbuilds-api
本仓库记录了 [koreanbuilds.net](https://en.koreanbuilds.net) 背后的非官方公开 API,
这是一个 League of Legends 出装聚合器。本参考文档涵盖了七个端点,包括参数、响应
结构以及在正式服务器上观察到的特性。每个记录的字段均源自真实的抓取
响应或该站点的 `bundle.js`,绝非猜测。作为案例研究,本文包含了一篇逆向工程文章,
以及经过匿名化处理的示例响应和一个简单的 Python 客户端。
## 快速开始
```
cd examples/python
pip install -r requirements.txt
```
然后:
```
from koreanbuilds import KoreanBuilds
client = KoreanBuilds()
data = client.builds("seraphine")
for entry in data["builds3"][:3]:
print(entry["champion"]["name"], entry["games"], "games")
```
## 本仓库包含的内容
```
docs/
├── endpoints.md Reference for the 7 endpoints: paths, parameters,
│ response shapes, per-endpoint quirks.
├── authentication.md The auth header, why it is static, how to
│ re-extract it if the maintainer rotates it.
└── reverse-engineering.md Case study of figuring out the API from the
frontend bundle.
schemas/ Anonymized sample responses, one per GET endpoint.
examples/python/ Small reference client (~85 lines) plus an
extract_token.py helper script.
```
## API 失效时的应对
**Token 已轮换。** 症状:请求开始返回 `401` 或 `403`。Token 没有过期
信号;请求彻底失败是其轮换的唯一标志。运行 `python examples/python/extract_token.py`,
将其输出与 `examples/python/koreanbuilds.py` 中的 `DEFAULT_TOKEN` 进行比较,
如果两者不同,请更新该常量。详细说明见 [`docs/authentication.md`](docs/authentication.md)。
**出现了新端点。** 请通过在实际运行的 `bundle.js` 中 grep 搜索 URL
模式来确认其是否确实存在——切勿盲目探测。确认后,请在 [`docs/endpoints.md`](docs/endpoints.md) 中
按照现有的单端点格式进行记录,将匿名样本添加到 `schemas/` 目录下,并提交 PR。
**你是该网站所有者并希望移除此仓库。** 请提交一个请求移除的 GitHub issue。
## 贡献指南
相较于猜测的字段,我们更倾向于经过验证的数据。新的端点记录应遵循 [`docs/endpoints.md`](docs/endpoints.md) 中的现有格式,
并在 `schemas/` 目录下包含匿名化样本。任何增加抓取辅助、重试逻辑、并发请求编排,
或其他会增加网站负担功能的 PR 都将被拒绝。
## 许可证
[MIT](LICENSE)。
[en.koreanbuilds.net](https://en.koreanbuilds.net) 网站由 Jakob Abfalter 构建并维护。
标签:API参考, DNS解析, JavaScript Bundle分析, koreanbuilds, Python客户端, Python脚本, REST API, 云资产清单, 开源项目, 抓包与反编译, 接口文档, 数据聚合, 案例研究, 游戏出装, 游戏数据抓取, 电竞数据, 网络信息收集, 网络协议分析, 英雄联盟, 认证提取, 逆向工具, 逆向工程, 静态Token