技术博客
文本关键词抽取:5 分钟快速接入指南(Python / cURL / JS)

文本关键词抽取:5 分钟快速接入指南(Python / cURL / JS)

作者: 万维易源
2026-08-31
文本关键词抽取关键词提取快速接入Python示例免费接口
# 文本关键词抽取:5 分钟快速接入指南(Python / cURL / JS) - **接口 / 接入点**:文本关键词抽取(apiCode 941)· 接入点 `941-1` - **是否免费**:是(免费接口,统一计费,有使用档次限制) - **请求方式**:POST / GET | **返回格式**:JSON - **适用人群**:新注册用户、初级开发者、内容运营 - **阅读时间**:约 5 分钟 ## 核心要点 - 只需两个参数:`text`(必填,要抽取的文字)与 `num`(可选,关键词数量,默认 10)。 - 返回结果在 `showapi_res_body.list` 里,是一个字符串数组。 - 把 `YOUR_APPKEY` 换成真实 AppKey,下面三段代码任选其一即可跑通。 ## Why:为什么用它 给一段长文,人工提炼关键词既慢又不稳定。文本关键词抽取基于 TextRank 词频算法,一行调用就能拿到代表全文主题的关键词,可直接用于文章打标、搜索索引、摘要生成。注册后即可免费调用,先把最小闭环跑起来,再考虑接业务。 ## What:前置条件与接口速览 | 项 | 值 | |----|----| | 接口名 | 文本关键词抽取(关键词抽取) | | 接入点 | `941-1`(单接入点) | | 路由 | `https://route.showapi.com/941-1?appKey=YOUR_APPKEY` | | 方式 | POST / GET | | 鉴权 | `appKey` 作为 query 参数(也可走网关标准签名) | | 计费 | 免费,统一计费,有使用档次限制 | | 集成 | 支持 MCP、OpenAPI 3.0(详见本系列生态层文章) | 前置条件:① 已在 ShowAPI 注册;② 在控制台拿到 AppKey(https://www.showapi.com/console#/userCenter);③ 本机可访问外网。 ## How:三步跑通 ### 步骤 1 · 准备参数 只需要 `text` 必填,`num` 选填: - `text`:要抽取关键词的原始文本(示例值「这是一段测试的文字。」)。 - `num`:希望返回的关键词个数,默认 10;不传则用默认值。 ### 步骤 2 · 发送请求 **Python(requests)** ```python import requests url = "https://route.showapi.com/941-1" params = { "appKey": "YOUR_APPKEY", "text": "这是一段测试的文字。今天天气晴朗,我们去了公园散步,晚饭吃了面条,面条很好吃。", "num": "10", # 可选,需要多少个关键词,默认 10 } try: r = requests.post(url, data=params, timeout=10) r.raise_for_status() data = r.json() body = data.get("showapi_res_body", {}) if str(body.get("ret_code")) == "0": print("关键词:", body.get("list")) else: print("业务失败 ret_code=", body.get("ret_code"), "err=", data.get("showapi_res_error")) except Exception as e: print("请求异常:", e) ``` **cURL** ```bash curl -X POST "https://route.showapi.com/941-1?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "text=这是一段测试的文字。今天天气晴朗,我们去了公园散步。&num=10" ``` **Node.js(fetch)** ```js const url = "https://route.showapi.com/941-1?appKey=YOUR_APPKEY"; const body = new URLSearchParams(); body.set("text", "这是一段测试的文字。今天天气晴朗,我们去了公园散步,晚饭吃了面条。"); body.set("num", "10"); const r = await fetch(url, { method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, body, }); const data = await r.json(); const b = data.showapi_res_body || {}; if (String(b.ret_code) === "0") console.log("关键词:", b.list); else console.log("失败", b.ret_code, data.showapi_res_error); ``` ### 步骤 3 · 解析返回 成功时 `showapi_res_body.ret_code` 为 `"0"`,关键词在 `showapi_res_body.list`(字符串数组)。直接遍历即可: ```python for kw in body.get("list", []): print(kw) ``` ## 返回示例与解析 ```json { "showapi_res_code": 0, "showapi_res_error": "", "showapi_res_id": "ce135f6739294c63be0c021b76b6fbff", "showapi_res_body": { "list": ["测试", "文字"], "ret_code": "0" } } ``` 字段说明: | 字段 | 含义 | |------|------| | `showapi_res_code` | 系统级状态码,0 表示网关层成功 | | `showapi_res_error` | 系统级错误信息,成功时为空 | | `showapi_res_id` | 本次请求的唯一标识,便于排查 | | `showapi_res_body` | 业务数据容器 | | `showapi_res_body.list` | 所有的关键词数组(字符串) | | `showapi_res_body.ret_code` | 业务状态码,0 为成功,其他为失败 | > 注:页面返回示例里 `ret_code` 写作 `-1` 属示例占位,字段定义以「0 为成功,其他失败」为准。详见[返回结构与 ret_code 状态码全解](https://www.showapi.com/guides/text-keyword-response-codes-941)。 ## 进阶 / 边界 - `text` 为空或不传会触发参数错误,务必保证有内容。 - 免费接口有使用档次限制,高频调用请先做缓存(见[缓存与限流策略](https://www.showapi.com/guides/text-keyword-cache-cost-941))。 - 抽取结果依赖原文词频与语义,极短文本(如一句话)可能只返回个别词,属正常。 ## FAQ **Q1:返回 list 是空数组怎么办?** A1:先确认 `text` 是否传了有效内容;再检查 `showapi_res_body.ret_code` 是否为 `"0"`。若 ret_code 非 0,看 `showapi_res_error` 的提示。极短或纯标点文本本就可能无关键词。 **Q2:num 最大能传多少?** A2:文档未给出上限数值,默认 10。建议按业务需要取值,过大意义有限;具体上限以官方档位/接口说明为准,不编造数字。 **Q3:免费接口需要付费吗?** A3:不需要。注册后默认可免费调用,平台为防止滥用设有使用档次限制,可用积分兑换更高档位(见 https://www.showapi.com/free-api)。 **Q4:GET 和 POST 有区别吗?** A4:本接口同时支持 POST/GET。文本较长时建议用 POST(form 表单),避免 URL 长度限制。 **Q5:返回里有两个 code(showapi_res_code 和 ret_code)看哪个?** A5:`showapi_res_code` 是网关层状态,`ret_code` 是业务状态。业务是否正常以 `showapi_res_body.ret_code == "0"` 为准。 ## 相关能力 / 下一步阅读 - [文本关键词抽取:返回结构与 ret_code 状态码全解](https://www.showapi.com/guides/text-keyword-response-codes-941) —— 报错先查这篇 - [文本关键词抽取:SEO 标签与内链自动生成实战](https://www.showapi.com/guides/text-keyword-seo-tags-941) —— 拿到关键词后怎么用 - **本系列共 10 篇**:查看[文本关键词抽取指南总目录](https://www.showapi.com/guides/text-keyword-guides-941)