打通 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。
138 lines
5.0 KiB
JSON
138 lines
5.0 KiB
JSON
{
|
|
"source": "oshwhub",
|
|
"source_url": "https://oshwhub.com/sheep_finder/pcb-heng-wen-jia-re-tai",
|
|
"project_id": "7b6a398811f14eba9a952b8d2ddd7ace",
|
|
"title": "加热台量产计划",
|
|
"description_short": "基于启凡科创的物联网加热台优化而来。\n对应启凡科创v2.0版本作出适配",
|
|
"description_path": "description.md",
|
|
"author": {
|
|
"username": "sheep_finder",
|
|
"display_name": "sheep_finder",
|
|
"user_id": "dc43748f38a9490396e4969820abff90"
|
|
},
|
|
"license": "Public Domain",
|
|
"tags": [],
|
|
"created_at": "2022-10-03T04:28:21.000Z",
|
|
"updated_at": "2026-04-03T01:41:07.000Z",
|
|
"published_at": "2025-11-10T02:35:05.000Z",
|
|
"crawled_at": "2026-04-23T11:25:46.651730+00:00",
|
|
"metrics": {
|
|
"likes": 1447,
|
|
"stars": 3293,
|
|
"forks": 3939,
|
|
"views": 347329,
|
|
"watch": 0,
|
|
"comments": 383
|
|
},
|
|
"cover": {
|
|
"url": "https://image.lceda.cn/avatars/2022/10/q3e5mInHcWPvP4K2wqCpzB0dJr8n0tCHj4OJb4Wh.png",
|
|
"path": "cover.png"
|
|
},
|
|
"files": [
|
|
{
|
|
"name": "加热台量产计划.zip",
|
|
"url": "https://image.lceda.cn/attachments/2023/3/3D63VEzSSgu7tMjN4RTiEbDSiqmlo1Yiv6uvNWXk.zip",
|
|
"original_id": "bebc0475e03e43199806c4dfc78847b1",
|
|
"ext": "zip",
|
|
"mime": "application/x-zip-compressed",
|
|
"size": 21328814,
|
|
"md5": "6502c95eaf49092d463ea14be07d1cf9",
|
|
"path": "files/加热台量产计划.zip",
|
|
"sha256": "900f4c61e72a1ab22a113f0d55525244cd5eb072858cb0c4e5c950a7b647ad2e"
|
|
},
|
|
{
|
|
"name": "焊接烧录指引v2.pdf",
|
|
"url": "https://image.lceda.cn/attachments/2023/4/2AhHlXehkZO4nC0zGTVH5TKH50X0IHZtmacdlfWq.pdf",
|
|
"original_id": "3bd33eb9d73b4b4db05820c9fbfccbc1",
|
|
"ext": "pdf",
|
|
"mime": "application/pdf",
|
|
"size": 1869778,
|
|
"md5": "bbcd571e21e230aec83af6909c453a80",
|
|
"path": "files/焊接烧录指引v2.pdf",
|
|
"sha256": "1551906d358b75a1ac070a3c13341761d55c0cd378697a90edc4a419ad6c195f"
|
|
},
|
|
{
|
|
"name": "加热台Q&A.docx",
|
|
"url": "https://image.lceda.cn/attachments/2023/4/RwQkCsS9xv2UWoZ3JbVPgKa7IULczPGBFyk9tWLm.bin",
|
|
"original_id": "e5f6f384fb11489f99e27e8aebf06ffb",
|
|
"ext": "bin",
|
|
"mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
"size": 13592,
|
|
"md5": "e3f6675ec77f862d15250075e888838d",
|
|
"path": "files/加热台Q&A.docx",
|
|
"sha256": "b048901d8851b75257305865f2a9bbf97239756d2c4f0d9ab3b09d1828d95263"
|
|
},
|
|
{
|
|
"name": "2023-2-7 焊接编码器教程.pdf",
|
|
"url": "https://image.lceda.cn/attachments/2023/4/8cflSrzwHsuPme258lpLoQLVym2YisHLNzmWsgly.pdf",
|
|
"original_id": "21963ef73c534309b1754bd2ce452a2f",
|
|
"ext": "pdf",
|
|
"mime": "application/pdf",
|
|
"size": 857188,
|
|
"md5": "0bbf490c7d06fb733f88ddd3715d5a7d",
|
|
"path": "files/2023-2-7 焊接编码器教程.pdf",
|
|
"sha256": "933b1d40e5c8a1c80b3499931c002b7d30a408dc2dc9fa1ba8954b772fdd3961"
|
|
}
|
|
],
|
|
"raw_fields": {
|
|
"path": "sheep_finder/pcb-heng-wen-jia-re-tai",
|
|
"grade": 4,
|
|
"origin": "std",
|
|
"public": true,
|
|
"publish": true,
|
|
"skipped_files": []
|
|
},
|
|
"source_format": "easyeda-std",
|
|
"source_path": "source/",
|
|
"source_documents": [
|
|
{
|
|
"doc_uuid": "93adc47efbde48a28807aa0f0bd01b91",
|
|
"docType": 3,
|
|
"master": "9bce7682b0d24831b41fae252149903b",
|
|
"path": "source/93adc47efbde48a28807aa0f0bd01b91.json",
|
|
"size": 494518,
|
|
"sha256": "05abeda96d3a555838a3297d91e9ea31848f083f53aee7d6788007e8f22538e4"
|
|
},
|
|
{
|
|
"doc_uuid": "f47314d9558c4171aa33c8e17a0f2b80",
|
|
"docType": 3,
|
|
"master": "a2c0244bd519418da78c50f187466114",
|
|
"path": "source/f47314d9558c4171aa33c8e17a0f2b80.json",
|
|
"size": 1225471,
|
|
"sha256": "078b20cc90b202a9651f8404c6b3dffa8a605feae9076703a7da725ce4817943"
|
|
},
|
|
{
|
|
"doc_uuid": "d0cbe19ba8fb4ba6827512bf424f019e",
|
|
"docType": 3,
|
|
"master": "abb4c0da30864fa5b23ea0ae2066b50a",
|
|
"path": "source/d0cbe19ba8fb4ba6827512bf424f019e.json",
|
|
"size": 494463,
|
|
"sha256": "eb8b801d737d27eefc5eb275c20c86948392b0d030e4ed70d3e2f266d5df3b27"
|
|
},
|
|
{
|
|
"doc_uuid": "6474b2b8414f4594a73f5c675fec151e",
|
|
"docType": 1,
|
|
"master": "1f66702c7edb4dbf851c4e8bf96efed9",
|
|
"path": "source/6474b2b8414f4594a73f5c675fec151e.json",
|
|
"size": 4452301,
|
|
"sha256": "67d55a49d705403e24dd461a3ec940f06f4e98203f201f74df45d5334f441792"
|
|
},
|
|
{
|
|
"doc_uuid": "40613f5bc09746c8858f02ebbd3c0c0c",
|
|
"docType": 3,
|
|
"master": "a0ceddef86c1471788332d86e5c6a750",
|
|
"path": "source/40613f5bc09746c8858f02ebbd3c0c0c.json",
|
|
"size": 1173475,
|
|
"sha256": "738e194ebb348b294b1ecbc436afadfbb79a7336b80a594eb880b6fa0bcd484f"
|
|
},
|
|
{
|
|
"doc_uuid": "7ea961c70bc54ecebe075ebc8fb0051b",
|
|
"docType": 1,
|
|
"master": "1440abb8f989434794306e445f2a3ba7",
|
|
"path": "source/7ea961c70bc54ecebe075ebc8fb0051b.json",
|
|
"size": 4452301,
|
|
"sha256": "67d55a49d705403e24dd461a3ec940f06f4e98203f201f74df45d5334f441792"
|
|
}
|
|
],
|
|
"editor_version": "6.5.43"
|
|
} |