2025-04-23 16:46:52 +08:00
2025-04-22 09:11:40 +08:00
2025-04-22 09:11:40 +08:00
2025-04-22 09:11:40 +08:00
2025-04-22 09:11:40 +08:00
2025-04-22 09:11:40 +08:00
2025-04-22 09:11:40 +08:00
2025-04-23 16:46:52 +08:00

🧲 Kenney Asset Scrapper

一个为开发者而生的自动化工具,专为抓取、整理和本地化 Kenney.nl 免费资源库而设计。支持批量提取资源信息、下载素材包和图片,并可生成本地资源索引,方便在离线环境中高效使用。


📁 项目结构

Kenney-Asset-Scrapper/
├── frontend/                   # 已废弃的旧前端版本v1~v3
│   ├── v1/
│   ├── v2/
│   └── v3/
├── scrapper/                  # 爬虫与处理核心
│   ├── main.py                # 爬取所有资源链接与详情
│   ├── asset_downloader.py   # 批量下载 ZIP 素材包
│   ├── image_downloader.py   # 批量下载预览图
│   ├── kenney_data_to_local.py # 替换 JSON 为本地路径

🚀 功能亮点

模块 功能
main.py 爬取 Kenney 网站资源列表与详情,包括标题、分类、版本日志、预览图与下载链接,并保存为结构化 JSON
asset_downloader.py 根据 JSON 批量下载 ZIP 资源,自动分类存储(按类型 + 系列)
image_downloader.py 批量下载所有预览图,结构化存储至本地
kenney_data_to_local.py 将所有网络路径(资源/图片)替换为对应的本地路径,方便离线访问或嵌入其他系统

🛠 使用说明

  1. 抓取资源页面数据

    python scrapper/main.py
    

    会生成 kenney_links.txtkenney_data.json

  2. 下载 ZIP 素材包

    python scrapper/asset_downloader.py
    

    下载到 kenney_assets/,按分类 & 系列整理。

  3. 下载图片预览

    python scrapper/image_downloader.py
    

    🎨 所有图片将下载到 kenney_assets_images/,与资源信息匹配。

  4. 本地路径替换

    python scrapper/kenney_data_to_local.py
    

    📝 生成 kenney_data_local.json,将所有 downloadimages 字段替换为本地路径。


🗃 示例结构

kenney_assets/
└── 2D/
    └── Roguelike RPG/
        └── Roguelike RPG V1.4.zip

kenney_assets_images/
└── 2D/
    └── Roguelike RPG/
        └── Roguelike RPG/
            ├── preview1.png
            ├── preview2.jpg
            └── ...

🧪 注意事项

  • 所有请求均带有浏览器头User-Agent以防被屏蔽
  • 下载任务中加入了随机延迟以模拟人类操作,避免触发反爬机制
  • 项目未来将继续支持更多格式,如 CSV 导出、数据库同步、本地 Web UI 预览等

📦 前端说明

原始 frontend/ 文件夹中的 v1~v3 版本已弃用,请转而使用新的 Vue 前端项目 👉 kenney-asset-frontend-vue


📜 License

MIT License © 2025 — Inspired by the generosity of Kenney and his contributions to the open game development community.


如需增强或集成至你的工作流,欢迎提 Issue 或 PR
Let's automate creativity! 🎮

Description
No description provided
Readme 76 KiB
Languages
Python 100%