Phase 1 MVP: crawl 10 high-quality oshwhub projects into LFS
Why: - Charles 指定:先爬 10 个高质量项目存 Gitea LFS,一个项目一个文件夹, 保留原文件和 URL。先以小批量验证 schema + LFS 流水线,放量前再拍板 存储规模。 What: - crawlers/oshwhub: 列表 API (`/api/project?sort=hot`) + SSR HTML 解析, 一次性产出 metadata / description / cover / files / _urls - schemas/project.schema.json: 跨源统一 schema - docs/sources/oshwhub.md: API 入口 / 字段映射 / 陷阱调研 - pyproject.toml: httpx[http2] 单依赖 - .gitattributes: data/raw/**/files/** 一律走 LFS(规则写窄,避免误伤 schemas/*.json 等) - .gitignore: 移除 data/raw/* 排除(改走 LFS 入库) 10 个项目覆盖:调试器 / 加热台 / 盖革计数器 / 数控电源 / 焊台 / 智能手表 / USB 测电流 / ZVS 感应加热 / AI 开发板 / 红外热成像。 共 52 附件 ≈ 524 MB 入 LFS,筛选判据 grade=4 & likes>=100 & 多样性。 Known gaps(见 plan.md § Phase 1.4): - EasyEDA 源 JSON 需登录 (u.lceda.cn),v0.1 跳过 - fs-web-stream.jlc.com 的工程源下载未测 - scripts/validate.py 自动 schema 校验未实现 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"source": "oshwhub",
|
||||
"source_url": "https://oshwhub.com/wesd/h7b0-re-cheng-xiang",
|
||||
"project_id": "1b09581d66d34438a1e6513e457e0532",
|
||||
"title": "手持红外热成像",
|
||||
"description_short": "MLX90640+STM32H7B0的红外热成像,外加一颗ov7670摄像头做辅助显示,最高可做到32HZ的刷新率。",
|
||||
"description_path": "description.md",
|
||||
"author": {
|
||||
"username": "wesd",
|
||||
"display_name": "wesd",
|
||||
"user_id": "b3f7b33189a14088aa30416e034eca7f"
|
||||
},
|
||||
"license": "CERN Open Hardware License",
|
||||
"tags": [],
|
||||
"created_at": "2022-09-06T13:54:54.000Z",
|
||||
"updated_at": "2025-07-16T04:50:13.000Z",
|
||||
"published_at": "2023-11-08T01:25:18.000Z",
|
||||
"crawled_at": "2026-04-23T11:31:34.277837+00:00",
|
||||
"metrics": {
|
||||
"likes": 247,
|
||||
"stars": 646,
|
||||
"forks": 175,
|
||||
"views": 73081,
|
||||
"watch": 0,
|
||||
"comments": 266
|
||||
},
|
||||
"cover": {
|
||||
"url": "https://image.lceda.cn/pullimage/t7auihPq2yo15qct0rCwUXUdBubfIkMhOd1UqaJ1.jpeg",
|
||||
"path": "cover.jpeg"
|
||||
},
|
||||
"files": [
|
||||
{
|
||||
"name": "1.zip",
|
||||
"url": "https://image.lceda.cn/attachments/2022/10/aWLQlbeyYn7SOVykc2x9OWuHpCi5TpXJZfzuQVXS.zip",
|
||||
"original_id": "ad6720dbc62a4152aa6267e24621a700",
|
||||
"ext": "zip",
|
||||
"mime": "application/x-zip-compressed",
|
||||
"size": 524804,
|
||||
"md5": "7b5d94829be2e562228791a3ce9041ec",
|
||||
"path": "files/1.zip",
|
||||
"sha256": "9210315e8660a91932567dafac2959fc31f20bb05e8992363bad44d422144f1d"
|
||||
},
|
||||
{
|
||||
"name": "H7B0_IRCAM.rar",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/40UrslRfPUk0LUDL5UzA1d8QLzSKrn8lZS41hpxk.rar",
|
||||
"original_id": "516214a3934d43e1a8395923f923a777",
|
||||
"ext": "rar",
|
||||
"mime": "application/octet-stream",
|
||||
"size": 2968329,
|
||||
"md5": "ba10570948bc2e24abb66bce0b7231e0",
|
||||
"path": "files/H7B0_IRCAM.rar",
|
||||
"sha256": "c6de1749d1fc88b637d06dced7e6da14610c5f44c3879bdbbbb5c66f73b81652"
|
||||
}
|
||||
],
|
||||
"raw_fields": {
|
||||
"path": "wesd/h7b0-re-cheng-xiang",
|
||||
"grade": 4,
|
||||
"origin": "std",
|
||||
"public": true,
|
||||
"publish": true,
|
||||
"skipped_files": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user