全新的【小宇宙播客订阅趋势榜单】及【API服务-测试版】

这半年AI videcoding 水平飞速进展,所以用kimi 的coding plan 更新了**小宇宙播客订阅趋势榜** [https://xyzrank.top/]() **本次更新有以下特征:** - 完全实现了每日订阅数字的抓取和更新,也修复了4月后未抓取的问题 - 覆盖了7700左右的小宇宙播客链接(如果没有链接说明播客下线了) - 保留最最核心的订阅趋势数据,删减不需要的其他SEO的功能 - 增加登录功能,后续可能会对更多数据分层处理 **截图预览** ![image.png](https://i.typlog.com/teng/8225036431_749827.png)![image.png](https://i.typlog.com/teng/8225036413_374385.png) **全网唯一记录播客订阅趋势的网站** - 尽量补齐了历史数据 - 尽量覆盖了更多的播客数据 ### 小宇宙播客订阅追踪 API 追踪小宇宙平台上播客的订阅数变化,提供每日更新的订阅量、日增长、月增长数据。 > 但是不知道能维护多久,😁 **Base URL:** `https://api.xyzrank.top` #### 接口列表 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/health` | 健康检查 | | GET | `/v1/stats` | 播客订阅排行榜 | | GET | `/v1/metrics/{podcast_id}` | 单个播客历史数据 | | GET | `/v1/podcast/{name}` | 按名称搜索播客 | 所有接口支持 CORS,可直接前端调用,无需代理。 --- #### GET /health 健康检查。 ```bash curl https://api.xyzrank.top/health ``` ```json {"status": "ok"} ``` --- #### GET /v1/stats 获取播客订阅排行榜,支持排序和分页。 **参数:** | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `sort_by` | string | `latest_count` | 排序字段:`latest_count`(订阅数)、`daily_change`(日增长)、`monthly_change`(月增长) | | `limit` | int | `50` | 每页数量,最大 500 | | `offset` | int | `0` | 偏移量 | **示例:** ```bash # 订阅数 Top 10 curl "https://api.xyzrank.top/v1/stats?sort_by=latest_count&limit=10" # 日增长 Top 20 curl "https://api.xyzrank.top/v1/stats?sort_by=daily_change&limit=20" # 月增长 Top 50,第二页 curl "https://api.xyzrank.top/v1/stats?sort_by=monthly_change&limit=50&offset=50" ``` **响应:** ```json { "total": 9458, "limit": 10, "offset": 0, "data": [ { "podcast_id": "5e280fa7418a84a0461f912b", "title": "故事FM", "url": "https://www.xiaoyuzhoufm.com/podcast/5e280fa7418a84a0461f912b", "latest_count": 2061343, "daily_change": 150, "monthly_change": 12300, "updated_at": "2026-04-06 02:30:15" } ] } ``` --- #### GET /v1/metrics/{podcast_id} 获取单个播客的历史订阅数据,返回最近 365 天的每日记录,按日期降序。 `podcast_id` 从 `/v1/stats` 或 `/v1/podcast` 接口获取。 **示例:** ```bash curl https://api.xyzrank.top/v1/metrics/5e280fa7418a84a0461f912b ``` **响应:** ```json { "podcast_id": "5e280fa7418a84a0461f912b", "count": 30, "data": [ {"crawl_date": "2026-04-06", "subscriber_count": 2061343, "status_code": 200}, {"crawl_date": "2026-04-05", "subscriber_count": 2061193, "status_code": 200}, {"crawl_date": "2026-04-04", "subscriber_count": 2061000, "status_code": 200} ] } ``` `status_code` 为 200 表示该日抓取成功,0 表示失败。 --- #### GET /v1/podcast/{name} 按名称搜索播客。先精确匹配,无结果再模糊搜索(最多 20 条)。 名称需要 URL 编码。 **示例:** ```bash # 精确匹配 curl "https://api.xyzrank.top/v1/podcast/%E6%95%85%E4%BA%8BFM" # 模糊搜索 curl "https://api.xyzrank.top/v1/podcast/%E6%95%85%E4%BA%8B" ``` **精确匹配响应:** ```json { "match": "exact", "podcast": { "id": "5e280fa7418a84a0461f912b", "url": "https://www.xiaoyuzhoufm.com/podcast/5e280fa7418a84a0461f912b", "title": "故事FM" } } ``` **模糊匹配响应:** ```json { "match": "partial", "count": 5, "data": [ {"id": "5e280fa7418a84a0461f912b", "url": "...", "title": "故事FM"}, {"id": "5e4b5a3bb53ccd41c8b4a123", "url": "...", "title": "故事会"} ] } ``` --- ### 数据说明 - **覆盖范围:** 约 9500 个小宇宙播客 - **更新频率:** 每天凌晨 2:00(北京时间)全量爬取,约 31 小时完成 - **历史数据:** 2024 年 9 月起的月度快照 + 2026 年 4 月起的每日数据 - **数据来源:** 直接爬取小宇宙播客页面,订阅数为页面显示数值