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:
41
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/_urls.json
Normal file
41
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/_urls.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"detail_url": "https://oshwhub.com/armbian-pythoniot/yuzumaix-v831",
|
||||
"cover_url": "https://image.lceda.cn/avatars/2023/4/DMgC3qzd0rQukGEieLTb377RTu3umnk2aRgvzuYv.png",
|
||||
"attachments": [
|
||||
{
|
||||
"name": "WeChat_20230922093205.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/9/oCmEMfVHeHKJDlGiDBulF9Xs8hR9zVpuNoIfKx3H.mp4",
|
||||
"original_id": "997cfe92995946f6ab89a61a5dd07503"
|
||||
},
|
||||
{
|
||||
"name": "大镜头.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/9/02cMoTHflBm7R2xW3BIy1CzsgS9EZXuNOb5kBya6.mp4",
|
||||
"original_id": "de14cc7868254108a76250bf22d1466a"
|
||||
},
|
||||
{
|
||||
"name": "40a45ea8a5b9683f2bc5940dd0f03fc5.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/RzUKJ9vGR07UX5NAov3fkU5qBc7Lm7l7YpnpBKam.mp4",
|
||||
"original_id": "166a052b60cc47c881d6151c8f50e087"
|
||||
},
|
||||
{
|
||||
"name": "d77c8f40aaf2ebf198d2ffe4ff9bde63.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/qb0tziZO0kWitZlTOQ37tqFDFr48m4gGLnPPQnHs.mp4",
|
||||
"original_id": "c36c4817224c4cbc89a8c57f692e34be"
|
||||
},
|
||||
{
|
||||
"name": "WeChat_20231124121438.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/ckssTsthpECXfdRpgjCxV9QyzRBvDjzh0ft6X4kI.mp4",
|
||||
"original_id": "f668d7f08b2b40daa7bb04a58a49e2df"
|
||||
},
|
||||
{
|
||||
"name": "WeChat_20231124121418.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/T4kDKWugOAp5R2FPKQgNf4u5ymTOtlmla7xm5ZcG.mp4",
|
||||
"original_id": "b16233f0eb624fc4a44fc0280f631f6e"
|
||||
},
|
||||
{
|
||||
"name": "WeChat_20231124121403.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/Qio2QOYXM8CBoofNaqbKRAaqQ3RZMgXNPhzuEgvL.mp4",
|
||||
"original_id": "30129b0c66e14549926aa79f381afb2b"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/cover.png
Normal file
BIN
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/cover.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 783 KiB |
@@ -0,0 +1,9 @@
|
||||
# 柚子爱AI相机-YuzuAI-YuzuMaix-AIoT-V831开发板
|
||||
|
||||
基于V831的一个AI开源相机, 硬件来自YuzukiIRC, 固件和软件套用M2Dock和MaixPy3, 原名YuzuMaix柚木麦被吐槽,改名YuzuAI柚子爱。
|
||||
|
||||
---
|
||||
- Source: https://oshwhub.com/armbian-pythoniot/yuzumaix-v831
|
||||
- Author: Armbian-PythonIot (armbian-pythoniot)
|
||||
- License: CC BY-NC-SA 3.0
|
||||
- Published: 2023-12-14T01:58:46.000Z
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/files/大镜头.mp4
LFS
Normal file
BIN
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/files/大镜头.mp4
LFS
Normal file
Binary file not shown.
118
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/metadata.json
Normal file
118
data/raw/oshwhub/922c1f3a9b9a43ff98998f476e7946ca/metadata.json
Normal file
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"source": "oshwhub",
|
||||
"source_url": "https://oshwhub.com/armbian-pythoniot/yuzumaix-v831",
|
||||
"project_id": "922c1f3a9b9a43ff98998f476e7946ca",
|
||||
"title": "柚子爱AI相机-YuzuAI-YuzuMaix-AIoT-V831开发板",
|
||||
"description_short": "基于V831的一个AI开源相机, 硬件来自YuzukiIRC, 固件和软件套用M2Dock和MaixPy3, 原名YuzuMaix柚木麦被吐槽,改名YuzuAI柚子爱。",
|
||||
"description_path": "description.md",
|
||||
"author": {
|
||||
"username": "armbian-pythoniot",
|
||||
"display_name": "Armbian-PythonIot",
|
||||
"user_id": "5b6e6dc2413245cb9d41eb504949b13a"
|
||||
},
|
||||
"license": "CC BY-NC-SA 3.0",
|
||||
"tags": [],
|
||||
"created_at": "2023-04-05T04:08:23.000Z",
|
||||
"updated_at": "2023-12-14T01:54:51.000Z",
|
||||
"published_at": "2023-12-14T01:58:46.000Z",
|
||||
"crawled_at": "2026-04-23T11:31:21.045637+00:00",
|
||||
"metrics": {
|
||||
"likes": 129,
|
||||
"stars": 236,
|
||||
"forks": 96,
|
||||
"views": 45128,
|
||||
"watch": 0,
|
||||
"comments": 93
|
||||
},
|
||||
"cover": {
|
||||
"url": "https://image.lceda.cn/avatars/2023/4/DMgC3qzd0rQukGEieLTb377RTu3umnk2aRgvzuYv.png",
|
||||
"path": "cover.png"
|
||||
},
|
||||
"files": [
|
||||
{
|
||||
"name": "WeChat_20230922093205.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/9/oCmEMfVHeHKJDlGiDBulF9Xs8hR9zVpuNoIfKx3H.mp4",
|
||||
"original_id": "997cfe92995946f6ab89a61a5dd07503",
|
||||
"ext": "mp4",
|
||||
"mime": "video/mp4",
|
||||
"size": 1145966,
|
||||
"md5": "fc02f72d812662607b6430b9123e4110",
|
||||
"path": "files/WeChat_20230922093205.mp4",
|
||||
"sha256": "48f1d30c36ee2cf70307a59f11e78249d763f379d513fc131b33c98ae9290844"
|
||||
},
|
||||
{
|
||||
"name": "大镜头.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/9/02cMoTHflBm7R2xW3BIy1CzsgS9EZXuNOb5kBya6.mp4",
|
||||
"original_id": "de14cc7868254108a76250bf22d1466a",
|
||||
"ext": "mp4",
|
||||
"mime": "video/mp4",
|
||||
"size": 829241,
|
||||
"md5": "b73514619c4ee6fe8e76bc7b32e6fa99",
|
||||
"path": "files/大镜头.mp4",
|
||||
"sha256": "054610980b91c2dac2629b3c33cb3ffdabcda332a3cc44c8e027221979dd6c36"
|
||||
},
|
||||
{
|
||||
"name": "40a45ea8a5b9683f2bc5940dd0f03fc5.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/RzUKJ9vGR07UX5NAov3fkU5qBc7Lm7l7YpnpBKam.mp4",
|
||||
"original_id": "166a052b60cc47c881d6151c8f50e087",
|
||||
"ext": "mp4",
|
||||
"mime": "video/mp4",
|
||||
"size": 1252241,
|
||||
"md5": "153e88446ba95cb78997c0924c6477bd",
|
||||
"path": "files/40a45ea8a5b9683f2bc5940dd0f03fc5.mp4",
|
||||
"sha256": "981d9d210fee2435d40aad25c9727435708993785d4d7abd11a99afe88f498b6"
|
||||
},
|
||||
{
|
||||
"name": "d77c8f40aaf2ebf198d2ffe4ff9bde63.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/qb0tziZO0kWitZlTOQ37tqFDFr48m4gGLnPPQnHs.mp4",
|
||||
"original_id": "c36c4817224c4cbc89a8c57f692e34be",
|
||||
"ext": "mp4",
|
||||
"mime": "video/mp4",
|
||||
"size": 964054,
|
||||
"md5": "3412f63de246108e328f32f424ccdd73",
|
||||
"path": "files/d77c8f40aaf2ebf198d2ffe4ff9bde63.mp4",
|
||||
"sha256": "89bd79ebae84dadad9fc6e78e7662c1f0d4aeeb526cb4b64c79450c92772bb88"
|
||||
},
|
||||
{
|
||||
"name": "WeChat_20231124121438.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/ckssTsthpECXfdRpgjCxV9QyzRBvDjzh0ft6X4kI.mp4",
|
||||
"original_id": "f668d7f08b2b40daa7bb04a58a49e2df",
|
||||
"ext": "mp4",
|
||||
"mime": "video/mp4",
|
||||
"size": 1831997,
|
||||
"md5": "5d0b710833cde01ced97e311b9ffb002",
|
||||
"path": "files/WeChat_20231124121438.mp4",
|
||||
"sha256": "5000ec0973b1f5d72fa1904f25061ab9eae49a05d9e4dbbff239066102bad412"
|
||||
},
|
||||
{
|
||||
"name": "WeChat_20231124121418.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/T4kDKWugOAp5R2FPKQgNf4u5ymTOtlmla7xm5ZcG.mp4",
|
||||
"original_id": "b16233f0eb624fc4a44fc0280f631f6e",
|
||||
"ext": "mp4",
|
||||
"mime": "video/mp4",
|
||||
"size": 773127,
|
||||
"md5": "970584d4b75eb818ec144b1b6fbe49a5",
|
||||
"path": "files/WeChat_20231124121418.mp4",
|
||||
"sha256": "aecfc2970d8a4a0f5d2fd4484beb8b7e91321b564aa9e5a5bcca8a8dd5dbd41f"
|
||||
},
|
||||
{
|
||||
"name": "WeChat_20231124121403.mp4",
|
||||
"url": "https://image.lceda.cn/attachments/2023/11/Qio2QOYXM8CBoofNaqbKRAaqQ3RZMgXNPhzuEgvL.mp4",
|
||||
"original_id": "30129b0c66e14549926aa79f381afb2b",
|
||||
"ext": "mp4",
|
||||
"mime": "video/mp4",
|
||||
"size": 1915277,
|
||||
"md5": "b26d9c91ab5abac4d16e2b084eca4040",
|
||||
"path": "files/WeChat_20231124121403.mp4",
|
||||
"sha256": "39eb70b17270d179c5325ef77fe46ed79b84a9ba98fa9595ad7f8b74697f9c07"
|
||||
}
|
||||
],
|
||||
"raw_fields": {
|
||||
"path": "armbian-pythoniot/yuzumaix-v831",
|
||||
"grade": 4,
|
||||
"origin": "std",
|
||||
"public": true,
|
||||
"publish": true,
|
||||
"skipped_files": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user