Probed listing API and learned: total field is exposed (Pro=21,202 / Std=12,493), pageSize accepts >=1000 (full corpus = 35 requests / 71s), sort param is silently ignored. Dump all listings via scripts/dump_listing_index.py to local jsonl so downstream batch-selection no longer hits the API. Why: needed quantitative anchors before scaling Pro batch beyond top-5. License is detail-page only (~19h serial scan), so we want to filter on grade/like *locally* first to shortlist before paying that cost. Quality-tier counts now known: A-tier (grade>=3 & like>=10) = 2,806 across both origins. - scripts/dump_listing_index.py: one-shot scraper, polite QPS, streams to jsonl - docs/sources/oshwhub_listing_full.md: human-readable report with growth trends, quality tiers, owner concentration, and storage-budget anchors Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5.4 KiB
oshwhub 全量 Listing 索引简报
采集时间:2026-04-28
数据:data/state/oshwhub_listing_full.jsonl(28.4 MB,gitignore,可重抓)
采集脚本:scripts/dump_listing_index.py
接口:https://oshwhub.com/api/project?origin={pro,std}&pageSize=1000&page=N,无鉴权
耗时 / 流量:35 次请求 × ~1 MB ≈ 35 MB / 71 秒(QPS=1)
1. 总盘
| origin | 项目数 | 时间跨度 | 唯一作者数 |
|---|---|---|---|
| Pro | 21,202 | 2021-05 ~ 2026-04 | 10,536 |
| Std | 12,493 | 2016-07 ~ 2026-04 | 5,531 |
| 合计 | 33,695 | — | ~16,000 |
"项目"定义:listing API 返回的
public:true公开项目;私有 / 草稿不计入。Pro / Std 不重叠(单项目 origin 二选一)。
2. 增长趋势(按 created_at 年份)
| year | Pro | Std |
|---|---|---|
| 2016 | — | 1 |
| 2017 | — | 73 |
| 2018 | — | 30 |
| 2019 | — | 320 |
| 2020 | — | 2,545 |
| 2021 | 13 | 3,193 |
| 2022 | 1,718 | 3,394 |
| 2023 | 4,056 | 1,554 |
| 2024 | 6,827 | 905 |
| 2025 | 7,436 | 426 |
| 2026 (Q1) | 1,152 | 52 |
关键观察:
- Std 在 2021-2022 见顶后断崖下跌(3394 → 1554 → 905 → 426),用户在迁出。
- Pro 2022 起线性增长,2024-2025 合计占全 Pro 的 67%。
- 2026 仅过 4 个月就有 1,152 Pro 新项目(外推全年 ~3,500,会比 2025 略降,但仍是主战场)。
→ 抓取策略含义:Pro corpus 还在快速膨胀,索引建议每月增量重抓一次;Std 已基本静态。
3. 质量分层
| Tier | 条件 | Pro 命中 | Pro % | Std 命中 | Std % |
|---|---|---|---|---|---|
| S | grade≥4 & like≥50 | 390 | 1.8% | 193 | 1.5% |
| A | grade≥3 & like≥10 | 1,356 | 6.4% | 1,450 | 11.6% |
| B | grade≥2 & like≥5 | 2,292 | 10.8% | 3,951 | 31.6% |
| 总池 | grade≥1 | 20,028 | 94.5% | 9,510 | 76.1% |
| 末档 | grade==0 | 1,174 | 5.5% | 2,983 | 23.9% |
两点反直觉:
- Std 高质量比例 > Pro(A 档 11.6% vs 6.4%)。Std 平台老,项目有时间累积点赞;Pro 大量是 2024+ 新项目,社交信号还没沉淀。
- Pro 末档比例反而低(5.5% vs 23.9%)。可能是 grade 内部打分逻辑不同,Std 兜底更宽。
4. 互动指标分布
like
| p50 | p90 | p99 | max | |
|---|---|---|---|---|
| Pro | 2 | 22 | 190 | 2,137 |
| Std | 6 | 40 | 207 | 1,457 |
views
| p50 | p90 | p99 | max | |
|---|---|---|---|---|
| Pro | 1,036 | 6,550 | 39,144 | 1,036,026 |
| Std | 3,362 | 13,519 | 53,663 | 348,877 |
Std 流量是 Pro 同档位的 ~3 倍(更老更普及);但 Pro 头部单项 view 能上百万(X86 主板等)。
5. 头部作者(按项目数)
Pro top-10
| # | username | n |
|---|---|---|
| 1 | course-examples | 79 |
| 2 | freakstudio | 79 |
| 3 | aknice | 69 |
| 4 | eda_kwazdnpkc | 64 |
| 5 | windskys | 56 |
| 6 | li-chuang-kai-fa-ban | 49 |
| 7 | dingcheng | 44 |
| 8 | o0v0o | 42 |
| 9 | xiaocc22 | 42 |
| 10 | eda_ycuzzivoa | 41 |
Std top-10
| # | username | n |
|---|---|---|
| 1 | li-chuang-zhi-neng-ying-jian-bu | 183 |
| 2 | zhqsoft | 144 |
| 3 | jixin | 92 |
| 4 | Ismartware | 53 |
| 5 | FJ956391150 | 52 |
| 6 | an_ye | 51 |
| 7 | micespring | 48 |
| 8 | li-chuang-EDAjing-sai-xiao-zu | 47 |
| 9 | 583703056a | 46 |
| 10 | akatople | 46 |
立创官方账号占据头部(
course-examples/li-chuang-kai-fa-ban/li-chuang-zhi-neng-ying-jian-bu/li-chuang-EDAjing-sai-xiao-zu)—— 这些是 开发板 / 比赛 / 教程 系列,质量高、license 倾向 GPL/NC-SA,内容受立创内部审核。长尾比较健康:top 1 占比仅 0.4% (Pro) / 1.5% (Std);不存在被少数账号 dominate 的情况。
6. listing API 注意事项(沉淀给后续爬虫开发)
origin默认值:不带参数返回 Std;要 Pro 必须显式origin=pro。sort参数无效:hot/new/newest/latest/created_at/...全部静默 fallback 到隐式排序。实测排序 = grade desc → 内部质量分 desc。要"按时间排序"得自己拉全集后本地排。pageSize无显式上限:pageSize=1000工作良好,单次响应 ~1 MB;pageSize=30(旧爬虫默认)效率低 30 倍。license不在 listing:要 license 必须挨个抓详情页 (/<owner>/<path>),33,695 个 → QPS≤0.5 → ~19 小时;考虑同步抓索引时只抓详情页,不重抓 listing。public:true隐含:listing 只返公开项目;不过我们也只关心公开项目。
7. 后续放量决策的量化锚点
| 目标 | 候选池大小 | 估算开销(详情页 + 工程源) |
|---|---|---|
| 保守:S 档(grade≥4 & like≥50)双 origin | 583 | 1-2 小时详情,~50 GB Pro 工程源 + ~10 GB Std |
| 中度:A 档(grade≥3 & like≥10)双 origin | 2,806 | ~7 小时详情,~250 GB Pro + ~25 GB Std |
| 激进:B 档双 origin | 6,243 | ~14 小时详情,~500 GB Pro + ~60 GB Std |
| 全 Pro | 21,202 | 19h 详情,~1 TB Pro 源 |
| 全 corpus | 33,695 | 19h 详情,~1.1 TB+ |
Pro 工程源体积估计基于已落库 5 项均值(最坏单项 481 MB),P50 约 30 MB;中度 + 激进档若加 size cap(如单项 ≤ 200 MB skip)能砍 30-40%。
当前下一步建议:
- 先按 A 档(2,806 项)在本地索引上 filter,做 license 详情扫描,得到"license 白名单 ∩ A 档"的真实候选清单
- 再决定是否动手批量下源