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。
This commit is contained in:
@@ -0,0 +1,217 @@
|
||||
{
|
||||
"project_uuid": "b077573dfb764e95b1d27faba49cca65",
|
||||
"fetched_at": "2026-04-28T11:49:46.863038+00:00",
|
||||
"editor_version": "6.5.47",
|
||||
"documents": [
|
||||
{
|
||||
"doc_uuid": "68b08976c03a460e811b22f8cc49ecc1",
|
||||
"docType": 1,
|
||||
"master": "d71483c684ea4395a99d17e20cc6c749",
|
||||
"path": "source/68b08976c03a460e811b22f8cc49ecc1.json",
|
||||
"size": 366098,
|
||||
"sha256": "fd91429213954bda1d807cc903c83948dc9b026c853881c3fc916daf4c6567d9"
|
||||
},
|
||||
{
|
||||
"doc_uuid": "ca39ac258d094bb2843a0ea04ec295e4",
|
||||
"docType": 3,
|
||||
"master": "382862140fc14344ab4f95f66d7c4d22",
|
||||
"path": "source/ca39ac258d094bb2843a0ea04ec295e4.json",
|
||||
"size": 7772,
|
||||
"sha256": "acd156c2f4582da0b3cb8cb0167a812cec05da6739b9a835cd12df42d2e20d84"
|
||||
},
|
||||
{
|
||||
"doc_uuid": "b2de073f48ef43f086a1f8e5d46440c2",
|
||||
"docType": 3,
|
||||
"master": "ead07021260a47f499d7d60def3b0bd8",
|
||||
"path": "source/b2de073f48ef43f086a1f8e5d46440c2.json",
|
||||
"size": 7125,
|
||||
"sha256": "b16c25863c0a4c553c954600bfc7ff059b1c27a936aa59ac0875226c65745a70"
|
||||
},
|
||||
{
|
||||
"doc_uuid": "89b78803dc7142a182ac7503389cd84a",
|
||||
"docType": 3,
|
||||
"master": "3c2485a7ffa14ece95405cd4c6394663",
|
||||
"path": "source/89b78803dc7142a182ac7503389cd84a.json",
|
||||
"size": 4877,
|
||||
"sha256": "6cc353799c788d896f8d81c3c3f5878acf035ac6e0586d2d89b5699106d670b8"
|
||||
},
|
||||
{
|
||||
"doc_uuid": "d3d004c7a55b4817aceac161849a7b62",
|
||||
"docType": 3,
|
||||
"master": "a4acf24d4c904f1ca758ff2496f6394f",
|
||||
"path": "source/d3d004c7a55b4817aceac161849a7b62.json",
|
||||
"size": 4138,
|
||||
"sha256": "dc8fd89eeaed8d6a3c26efaabca8daa9fa3880a6bba0e9a088f0ffd76cf01929"
|
||||
},
|
||||
{
|
||||
"doc_uuid": "a62ba7febc7b4f769583678f5db4ec3d",
|
||||
"docType": 3,
|
||||
"master": "d2ff5a1fac434987bb5743280ef4239a",
|
||||
"path": "source/a62ba7febc7b4f769583678f5db4ec3d.json",
|
||||
"size": 866651,
|
||||
"sha256": "262d08df64bf258ed29935fa5ff92038dfdd8f3697c8a04841628c3b3c2519dc"
|
||||
}
|
||||
],
|
||||
"upstream_version_documents": [
|
||||
{
|
||||
"uuid": "68b08976c03a460e811b22f8cc49ecc1",
|
||||
"title": "Sheet",
|
||||
"description": "",
|
||||
"docType": 1,
|
||||
"master": "d71483c684ea4395a99d17e20cc6c749",
|
||||
"thumb": "//image.lceda.cn/histories/d71483c684ea4395a99d17e20cc6c749.png",
|
||||
"components": {
|
||||
"68e9649b0cb54141961c20807fb177cc": 1,
|
||||
"154b66255b01a09bf1c88bb1ea89be78": 1,
|
||||
"003a0a7a95154a05954cc26b0972c50d": 1,
|
||||
"2aad7a006d37436386dcd8f66e8ceecf": 1,
|
||||
"cf3fe0e378c0496d8eab91646328f64e": 2,
|
||||
"48023b33291649c5b341cc00995a70bb": 25,
|
||||
"3874b2eda31b4cf19b02201a3803cff4": 12,
|
||||
"a995035a576b4a3b8bca511fc58e61aa": 1,
|
||||
"91e0a5d6c59e4c7694272c1c43093435": 1,
|
||||
"fbf9cd67675a4fdfbcedaeabe1bb025c": 1,
|
||||
"48d0123e3a2f4a6fb1fe2bf96e06eb3b": 1,
|
||||
"d7bdddd2cacf498fb1d06179a5ff309c": 1,
|
||||
"57befb9be5df4e1a95fc2fa001b67195": 2,
|
||||
"28076ab0bd994724821b6bcef439049b": 1,
|
||||
"479d8a079521401781eff9e20f9c7e66": 1,
|
||||
"c82d02ab6b544df7bbf028560262f594": 1,
|
||||
"49f223484f3c4b81b08474331c18fb63": 1,
|
||||
"87e3b6e96e834030944df8859495fa75": 2,
|
||||
"8dc5045651e24398a3c21d686a87c699": 3,
|
||||
"4f82e8be108d450198c106e545fc62f8": 1,
|
||||
"0070a40818444d74ba3d5662e256f7f5": 2,
|
||||
"d1fb4599dafa412daf6bbdff695c194a": 1,
|
||||
"41aff79cbb87474d82970b00192e4080": 1,
|
||||
"e0e13f4f94764a61b96e9a0e00951de3": 1,
|
||||
"b44edb93300a4169b775deb440446f37": 1,
|
||||
"5929e0fc99a24eb7b2b0eb3f696af231": 1,
|
||||
"145416646b2e4c958d8b7351750c22d1": 1
|
||||
},
|
||||
"updateTime": 1732466146,
|
||||
"createTime": 1678552938,
|
||||
"histories": [
|
||||
"87127934db2c42ba8631e4a9a265ccda",
|
||||
"d5fef383adae41608f63b82c5a2427d3",
|
||||
"6437a3f57a03404995d475a47022f278",
|
||||
"b672cd3f789b476b8aab4341e3ed604f",
|
||||
"fdcb7d8a1cea40fa9d53a21660967751",
|
||||
"dfe406238f3e4d3c9fdcedf8b77840ba",
|
||||
"3a20133ff90745968433c9782ccbe023",
|
||||
"a5d15fbedde84d55bc70b9ec9c444802",
|
||||
"62ef4dfabb294d5fb9e392f550dd8ea9",
|
||||
"3fc9057fcb204f6ea9f882f084c96517",
|
||||
"d71483c684ea4395a99d17e20cc6c749"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uuid": "ca39ac258d094bb2843a0ea04ec295e4",
|
||||
"title": "面板_底板",
|
||||
"description": "",
|
||||
"docType": 3,
|
||||
"master": "382862140fc14344ab4f95f66d7c4d22",
|
||||
"thumb": "//image.lceda.cn/histories/382862140fc14344ab4f95f66d7c4d22.png",
|
||||
"components": [],
|
||||
"updateTime": 1679760918,
|
||||
"createTime": 1679760918,
|
||||
"histories": [
|
||||
"382862140fc14344ab4f95f66d7c4d22"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uuid": "b2de073f48ef43f086a1f8e5d46440c2",
|
||||
"title": "面板_顶板",
|
||||
"description": "",
|
||||
"docType": 3,
|
||||
"master": "ead07021260a47f499d7d60def3b0bd8",
|
||||
"thumb": "//image.lceda.cn/histories/ead07021260a47f499d7d60def3b0bd8.png",
|
||||
"components": null,
|
||||
"updateTime": 1679765436,
|
||||
"createTime": 1679760986,
|
||||
"histories": [
|
||||
"1f4d68dba8784e1e865462a8dbdf3ea9",
|
||||
"bd3017b454ca4532bc5fba52a3e6cd24",
|
||||
"21553fcb37f341c59974119fd0c65d2a",
|
||||
"ead07021260a47f499d7d60def3b0bd8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uuid": "89b78803dc7142a182ac7503389cd84a",
|
||||
"title": "面板_中夹板",
|
||||
"description": "",
|
||||
"docType": 3,
|
||||
"master": "3c2485a7ffa14ece95405cd4c6394663",
|
||||
"thumb": "//image.lceda.cn/histories/3c2485a7ffa14ece95405cd4c6394663.png",
|
||||
"components": null,
|
||||
"updateTime": 1681215660,
|
||||
"createTime": 1679764636,
|
||||
"histories": [
|
||||
"b4f96ae15df34b228228879259b5d34f",
|
||||
"683501334feb4ce8ab3997cc6e30ae36",
|
||||
"82d8aee762f643c3876a4bdc128dc16a",
|
||||
"3c2485a7ffa14ece95405cd4c6394663"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uuid": "d3d004c7a55b4817aceac161849a7b62",
|
||||
"title": "面板_垫片",
|
||||
"description": "",
|
||||
"docType": 3,
|
||||
"master": "a4acf24d4c904f1ca758ff2496f6394f",
|
||||
"thumb": "//image.lceda.cn/histories/a4acf24d4c904f1ca758ff2496f6394f.png",
|
||||
"components": null,
|
||||
"updateTime": 1679765572,
|
||||
"createTime": 1679765512,
|
||||
"histories": [
|
||||
"5bf00dc2697b4184b7499c870bc50ba4",
|
||||
"a4acf24d4c904f1ca758ff2496f6394f"
|
||||
]
|
||||
},
|
||||
{
|
||||
"uuid": "a62ba7febc7b4f769583678f5db4ec3d",
|
||||
"title": "PCB",
|
||||
"description": "",
|
||||
"docType": 3,
|
||||
"master": "d2ff5a1fac434987bb5743280ef4239a",
|
||||
"thumb": "//image.lceda.cn/histories/d2ff5a1fac434987bb5743280ef4239a.png",
|
||||
"components": {
|
||||
"e02b7f5b8b5c47b290c70ae600cf3ebc": 25,
|
||||
"7c1599a50a37457ca7ff723bc20ba6b5": 12,
|
||||
"b60e2118525e4e72a4ba187b43d7d014": 1,
|
||||
"03dfe1995ca64f068df21c2602cac737": 1,
|
||||
"65c41ab499b04fc0b643b77636cadee1": 1,
|
||||
"eac75f8b428147da9a12e163caa44798": 1,
|
||||
"45d2343a54744d8d9fe46c185bb10087": 1,
|
||||
"42ca42fa10374da4933595196a877aad": 2,
|
||||
"7bdec8012728462a85919a4d0d033579": 1,
|
||||
"ce37d000b3784613ae2b02b75646b468": 1,
|
||||
"c49256f18988480f87a72b46d2fb7843": 2,
|
||||
"ebc607bb4ab844f4bc04908ae0e5e250": 1,
|
||||
"5c086409e19a45e0b6d51d39622f1ce1": 1,
|
||||
"22e193090fe14959960b74cb31f91f71": 1,
|
||||
"46d6480f67e241939c637cb2c2b447ea": 1,
|
||||
"4f0741d05a1641ed9eaf41859e70df17": 6,
|
||||
"ec167fe00927442ca8cc4fd59c98854a": 1,
|
||||
"8248d4ff5b1c4d4c9d2bba8e654d949b": 2,
|
||||
"0c74b53de1d6457783c315a6f66901b2": 1,
|
||||
"84ee037beaf4fd143cbfa9a4bba8341b": 1,
|
||||
"adb7d1ca4fb54b7ab04cfb38ac9f4769": 1,
|
||||
"eca7c0f5e3d347a08183070a3f5ec9fe": 1,
|
||||
"963e28ab2a2f47f2abaa09e99872e84d": 1,
|
||||
"db22dea51d15411696b4ca402396eb8b": 1,
|
||||
"d490e4b225284308b5ac5ecc07ed00bd": 1
|
||||
},
|
||||
"updateTime": 1732466157,
|
||||
"createTime": 1704873988,
|
||||
"histories": [
|
||||
"2e92e16c8f2a444eb5cd302f3a1747b0",
|
||||
"b20bf84568614cd391d99c7eaf4a4d47",
|
||||
"889e6de7e7a94b4f94feec0cf3c5b581",
|
||||
"2de61b80ae554a8db8a28223c8316076",
|
||||
"16c85beaf39849a3b03c3473ddc979be",
|
||||
"d2ff5a1fac434987bb5743280ef4239a"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user