技术博客
免费名言警句:num 参数怎么用?最多 10 条与"随机返回"机制

免费名言警句:num 参数怎么用?最多 10 条与"随机返回"机制

作者: 万维易源
2026-09-03
免费名言警句num参数随机返回参数说明
# 免费名言警句:num 参数怎么用?最多 10 条与"随机返回"机制 > 接口 1839-1 · 免费 · 请求方式 POST/GET · 返回 JSON · 适用人群:准备按需求取数的开发者 · 阅读时间:约 4 分钟 ## 核心要点 - 接口唯一业务参数是 `num`:控制一次返回多少条,最多 10 条,非必填。 - 返回的 `contentlist` 是**随机挑选**的名言,不是按你指定的分类、作者或主题。 - 官方页面/文档描述写有"可按标签、作者、主题筛选",但真实请求参数里**没有**这类筛选参数——本文如实澄清。 ## Why 你大概率会想:"我想给健身 App 推励志格言、给国学栏目推古人名句。"但看完接口你会发现,它并不接受"分类"参数——它只负责随机给你 N 条名言。理解这一点,才能正确设计产品(比如用本地分类标签去匹配返回名言,而不是指望接口筛)。 本文把 `num` 的真实用法讲透,并明确接口的能力边界,避免你在"按主题筛选"上白费功夫。 ## What **接口速览** | 项 | 值 | |----|----| | 请求参数 | `num`(String,最多 10 条,非必填) | | Header | `content-type: application/x-www-form-urlencoded`(非必填) | | 其他参数 | 无(真实参数仅 `num`,**无** tag/author/theme/keyword) | | 返回条数 | 等于 `num`(不超过 10) | ## How ### 步骤 1:用 num 控制条数 ```python import requests def get_quotes(num: int = 3): r = requests.get( "https://route.showapi.com/1839-1", params={"appKey": "YOUR_APPKEY", "num": str(min(num, 10))}, timeout=15, ) body = r.json()["showapi_res_body"] if body.get("ret_code") != "0": raise RuntimeError(body.get("remark")) return [it["content"] for it in body["contentlist"]] print(get_quotes(5)) # 最多 10 条,超出按 10 处理 ``` ### 步骤 2:理解"随机返回"机制 每次调用返回随机挑选的名言,`content` 形如 `"名言正文。作者(朝代)"`。同一个 `num` 连续调用,结果通常不同。接口**没有**用于指定分类、作者、主题的入参。 ## 返回示例与解析 ```json { "showapi_res_body": { "ret_code": "0", "remark": "查询成功!", "maxResult": "5", "currentPage": "1", "allPages": "1", "allNum": "5", "contentlist": [ { "content": "一名伟大的球星最突出的能力就是让周围的队友变得更好。--迈克尔·乔丹" } ] } } ``` - `maxResult` 等于你传入的 `num`(本例 5)。 - `contentlist` 长度为 `num`(不超过 10)。 ## 进阶 / 边界 - **不支持按分类/作者/主题筛选**:页面与 OpenAPI 描述提到"可按标签、作者、主题筛选",但 OpenAPI 的 `parameters` 为空、requestBody 仅含 `num`。这属于文档描述与真实能力不一致,规划产品时请以真实参数为准。 - **想要"主题化"怎么办**:在本地维护一个分类标签表,或对接其它支持分类的语料,再用本接口做"随机填充";不要依赖接口侧筛选。 - `num` 传大于 10 的值不会被接受(以最多 10 条为上限),建议客户端先 `min(num, 10)` 兜底。 ## FAQ **Q1:能一次要 20 条吗?** A:不能,`num` 最多 10 条。需要更多时只能多次调用(注意免费档位限制)。 **Q2:能指定只要"励志"类或"某位作者"的吗?** A:当前不能。接口只支持 `num` 控制条数,无分类/作者/主题筛选参数。 **Q3:为什么两次调用结果不一样?** A:接口随机返回,适合"每日一句""随机激励";若需固定内容,应在你侧缓存首次结果。 **Q4:作者信息怎么单独取?** A:作者内嵌在 `content` 字符串里(多以"——""--"或"(朝代)"结尾),需自行用正则/字符串分割提取。 ## 相关能力 / 下一步阅读 - [免费名言警句:返回字段全解(contentlist / ret_code / allNum)](https://www.showapi.com/guides/famous-quotes-response-fields-1839) - [免费名言警句:如何设计缓存策略,避免重复调用浪费免费档位](https://www.showapi.com/guides/famous-quotes-cache-1839) - [免费名言警句:常见问题与排查(ret_code 非 0 / 返回为空 / 免费档位限制)](https://www.showapi.com/guides/famous-quotes-faq-1839) - **本系列共 10 篇**:查看[免费名言警句指南总目录](https://www.showapi.com/guides/famous-quotes-guides-1839)