Files
FacereDataset/data/raw/oshwhub/f974b06d9c01470bb319e7df6d4512c9/metadata.json
Knowit d874278bc5 Add EasyEDA Std project source ingestion (10 boards backfilled)
打通 oshwhub origin=std 项目的工程源(schematic + PCB dataStr)抓取链路。原
plan.md §1.6 假设需要登录,实测 lceda.cn/api/documents/<doc>?uuid=<doc>&path=<doc>
对公开项目匿名可访问 —— 无需 cookie,无账号封禁风险。

调研:4 轮探测留痕在 data/state/std_probe[1-5]/(gitignored);翻 Std 编辑器
v6.5.51 的 main.min.js bundle 找到 ajaxDetail 端点;按 docType 区分两种
响应 shape(schematic 项目视图 vs PCB 文档视图)。

Crawler:
  - make_source_client() 用浏览器 UA + lceda.cn/editor Referer,因为
    oshwhub /api/project/<uuid> 端点拒绝 FacereDataset/0.1 UA(CLAUDE.md
    UA 例外条款:目标站主动封自定义 UA + 公开静态资源)
  - fetch_std_source(): 项目元 → version_documents → 逐文档 dataStr → 落
    source/<doc>.json + source/manifest.json
  - --with-source(爬新项目时一并抓源)/ --backfill-source(仅扫已有)
  - QPS ≤ 0.2 (SLEEP_SOURCE = 5s) 自律

Schema: 加 source_format / source_path / source_documents / editor_version
(前 3 进 enum 锁定,便于后续 Pro / KiCad 源对齐)。

回填结果:10/10 成功,45 个文档,33.2 MB;schema validate 全通。
docTypes 主要是 1 (schematic) 与 3 (pcb);USB 电压电流表只有 PCB 文档(4 个:
主板+盖板+底板+面板,作者未上传原理图源)。

完整调研:docs/sources/easyeda_std_source.md。
2026-04-28 20:07:40 +08:00

92 lines
3.0 KiB
JSON

{
"source": "oshwhub",
"source_url": "https://oshwhub.com/diy17102800/tu-teng-zvs",
"project_id": "f974b06d9c01470bb319e7df6d4512c9",
"title": "大功率感应加热2500W 增强型ZVS",
"description_short": "测试已成功",
"description_path": "description.md",
"author": {
"username": "diy17102800",
"display_name": "金石之声",
"user_id": "de940107caa34d989e9485cc41026732"
},
"license": "TAPR Open Hardware License",
"tags": [],
"created_at": "2023-02-14T16:30:50.000Z",
"updated_at": "2025-10-27T07:11:41.000Z",
"published_at": "2024-05-20T02:40:14.000Z",
"crawled_at": "2026-04-23T11:30:55.186691+00:00",
"metrics": {
"likes": 355,
"stars": 708,
"forks": 378,
"views": 61550,
"watch": 0,
"comments": 265
},
"cover": {
"url": "https://image.lceda.cn/pullimage/Qf1Gu6y5cpQQQ5YzNoFf4gqZYwNCOzKYlO9eerXB.jpeg",
"path": "cover.jpeg"
},
"files": [
{
"name": "测试视频.mp4",
"url": "https://image.lceda.cn/attachments/2023/3/hcSO16Po6ZKhmHnR3M2UJ2ttbc4jNDE0FthmsFE0.mp4",
"original_id": "e0ef95cfceb04edc9076a4e8f5ebd9dd",
"ext": "mp4",
"mime": "video/mp4",
"size": 8101940,
"md5": "229f35937d3b13a0a862b7d47654eb0f",
"path": "files/测试视频.mp4",
"sha256": "613b326cb8c3c222c955c259968b4fac5dd31daa5a93e85e53a55b24ef30c320"
},
{
"name": "1133.mp4",
"url": "https://image.lceda.cn/attachments/2024/5/BiyaOevIDxQtW4RbBjuS1FZ3P2cDsGBB1M5mf2aN.mp4",
"original_id": "40cab71898a7457b92f5e6ef7c8a8bd5",
"ext": "mp4",
"mime": "video/mp4",
"size": 1100753,
"md5": "3dc3d5f4c556e3c057eede3cfbcefb83",
"path": "files/1133.mp4",
"sha256": "7a707feb0a82435b59439552f211075dafeab39aa5d490e5195d861f75515126"
}
],
"raw_fields": {
"path": "diy17102800/tu-teng-zvs",
"grade": 4,
"origin": "std",
"public": true,
"publish": true,
"skipped_files": []
},
"source_format": "easyeda-std",
"source_path": "source/",
"source_documents": [
{
"doc_uuid": "996de21a7dc14ce5879731ce1e5ed40e",
"docType": 1,
"master": "c806967c27f7496daf3d7fd15f374059",
"path": "source/996de21a7dc14ce5879731ce1e5ed40e.json",
"size": 80142,
"sha256": "8f11b87e7e5dc0e88156888f95b5774ebcd246197111620afddd2117214581e1"
},
{
"doc_uuid": "d0d1804c9cfd4e49b5c2f0b346e6ee4b",
"docType": 3,
"master": "f82f694095fd41ef9cea98f98fab97f3",
"path": "source/d0d1804c9cfd4e49b5c2f0b346e6ee4b.json",
"size": 450225,
"sha256": "5dc32b84d89af967fe0590e37ba395a868f86cb1ff1e0aad0f032e693dac7976"
},
{
"doc_uuid": "d035908e00704da9bd72aacb68c5dd69",
"docType": 3,
"master": "e02cb4d00a7c4a43af23617eb305a988",
"path": "source/d035908e00704da9bd72aacb68c5dd69.json",
"size": 483574,
"sha256": "8bae58bb83a7c650bb4fdbe1faeb9b425604a2b23a01d72b306190579304d410"
}
],
"editor_version": "6.5.40"
}