技术博客
按年龄给孩子挑故事:用童话故事集 API 分类做适龄内容推荐

按年龄给孩子挑故事:用童话故事集 API 分类做适龄内容推荐

作者: 万维易源
2026-09-02
适龄推荐分类映射儿童内容
# 按年龄给孩子挑故事:用童话故事集 API 分类做适龄内容推荐 > 元信息:童话故事集 API(apiCode=1700)· 接入点 1700-1/1700-2 · 免费服务 · 适用人群:教育/亲子/儿童内容从业者 · 阅读时间约 7 分钟 ## 核心要点 - 接口提供约 10 类故事(儿童小故事/安徒生童话/格林童话/成语故事/寓言故事等),可作为适龄栏目的内容源。 - 分类本身不带"年龄段"标签,适龄映射由接入方根据教育常识自行定义,不要误认为接口返回了年龄字段。 - 用 1700-1 拿分类、1700-2 按 `classifyId` 拉列表,即可把故事组织成"年龄段书架"。 ## Why:家长最关心"适不适合我家孩子" 给孩子挑故事,难度不在于"有没有内容",而在于"内容合不合适年龄"。童话故事集 API 没有直接的"适读年龄"字段,但它把故事按类型分了类(成语、寓言、安徒生、格林……)。我们可以把这些分类映射到常见的年龄段栏目,做出"3-5 岁听寓言、6-9 岁读成语"这样的产品体验。本篇讲清怎么用分类做适龄推荐。 ## What:分类与适龄映射(mapping 由接入方定义) > 以下映射为**推荐实践示例**,并非接口返回字段;具体适龄判断请结合教育常识与平台定位。 | 年龄段(建议) | 推荐分类(classifyId 取自 1700-1) | 理由 | |----------------|-----------------------------------|------| | 3-5 岁 | 儿童小故事、寓言故事 | 篇幅短、寓意浅,适合亲子共读 | | 6-9 岁 | 安徒生童话、格林童话、经典童话 | 叙事完整,适合独立阅读启蒙 | | 9 岁以上 | 成语故事、民间故事、一千零一夜 | 文化背景与篇幅更适合大龄 | | 全年龄精选 | 童话故事、王尔德童话 | 文学性强,可作拓展阅读 | ## How:用分类构建适龄书架 ```python import requests APPKEY = "YOUR_APPKEY" # 1) 取全部分类,建立 classifyId -> 名称 的映射 cats = requests.post(f"https://route.showapi.com/1700-1?appKey={APPKEY}", headers={"content-type": "application/x-www-form-urlencoded"}, timeout=10) cat_map = {c["classifyId"]: c["classify"] for c in cats.json()["showapi_res_body"]["storylist"]} # 2) 按"年龄段 -> 分类名列表"定义映射(示例,自行调整) age_map = { "3-5岁": ["儿童小故事", "寓言故事"], "6-9岁": ["安徒生童话", "格林童话", "经典童话"], } # 3) 取每个年龄段对应分类的故事列表(keyword 必填,用能命中的词) def list_stories(classify_name, keyword="故事"): cid = next(k for k, v in cat_map.items() if v == classify_name) r = requests.post(f"https://route.showapi.com/1700-2?appKey={APPKEY}", data={"classifyId": cid, "keyword": keyword, "page": "1"}, headers={"content-type": "application/x-www-form-urlencoded"}, timeout=10) return r.json()["showapi_res_body"]["contentlist"] for age, names in age_map.items(): print(f"== {age} ==") for name in names: for s in list_stories(name): print(" ", s["title"]) ``` ```bash # 单条验证:先取分类,再用 classifyId + keyword 拉列表 curl -X POST "https://route.showapi.com/1700-1?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" curl -X POST "https://route.showapi.com/1700-2?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "classifyId=2&keyword=%E5%AE%89&page=1" ``` ## 返回示例与解析 1700-1 返回 `storylist[]`(`classify`/`classifyId`),1700-2 返回 `contentlist[]`(`id`/`title`/`classifyId`),详情见: - [故事分类接入点怎么用](https://www.showapi.com/guides/child-story-classify-guide-1700) - [故事列表搜索与分页实战](https://www.showapi.com/guides/child-story-list-guide-1700) ## 进阶 / 边界 - **接口无年龄字段**:适龄映射完全由你定义,务必在产品中标注"建议年龄仅供参考",避免给出医疗/教育承诺。 - **keyword 必填**:1700-2 的 `keyword` 必填,做栏目拉取时给一个能命中该分类的关键字即可,空值行为文档未约定。 - **内容审校**:经典故事偶有版本差异,正式面向儿童发布前建议人工复核正文,接口内容不直接构成教育建议。 ## FAQ **Q: 接口能直接告诉我哪篇适合几岁吗?** A: 不能。接口只返回故事分类,没有年龄字段;适龄映射需接入方自行定义。 **Q: 分类会变动吗?** A: 以接口实时返回为准,代码里动态消费 `storylist`,不要硬编码分类名与编号。 **Q: 一个故事可能跨多个年龄段栏目吗?** A: 可以。同一分类可出现在多个年龄段映射里,或者按故事粒度做更细的标注(需自建标注表)。 **Q: 适龄推荐算"教育建议"吗?** A: 不算,仅是内容组织方式。面向儿童的产品应标注"建议年龄仅供参考",并保留人工审校环节。 ## 相关能力 / 下一步阅读 - [童话故事集 API:故事分类接入点怎么用](https://www.showapi.com/guides/child-story-classify-guide-1700) - [童话故事集 API:故事列表搜索与分页实战](https://www.showapi.com/guides/child-story-list-guide-1700) - [故事分享平台如何接入童话故事集 API](https://www.showapi.com/guides/child-story-platform-guide-1700) - **本系列共 12 篇**:查看[童话故事集 API 指南总目录](https://www.showapi.com/guides/child-story-guides-1700)