脑筋急转弯列表接口分页怎么用?page 参数与题库遍历指南
# 脑筋急转弯列表接口分页怎么用?page 参数与题库遍历指南
> 接口/接入点:脑筋急转弯(1618-2 查询列表) · 免费服务 · 返回 JSON · 适用人群:需要遍历/索引题库的开发者 · 阅读时间约 6 分钟
## 核心要点
- 1618-2 用 `page` 翻页(默认 1),返回带 `allNum`/`allPages`/`currentPage`/`maxResult` 四个分页字段。
- 实测全库约 11067 条、`allPages` 约 929 页;每页条数由服务端控制(实测默认约 12)。
- 想顺序遍历全题库:从 `page=1` 循环到 `allPages`,逐页累加 `contentlist`。
## Why:什么时候需要分页
做"每日一题"本地缓存、全量题库检索、或按内容做二次分类时,需要把列表接口翻完。分页字段就是为此准备的——别用随机接口去"爬全库",它不带分页。
## What:接口与前置
| 项目 | 说明 |
|------|------|
| 接入点 | 1618-2 查询列表 |
| 接口地址 | `https://route.showapi.com/1618-2?appKey=YOUR_APPKEY` |
| 关键参数 | `page`(页码,默认 "1") |
| 分页字段 | `allNum`/`allPages`/`currentPage`/`maxResult`(均在 `showapi_res_body`) |
## How:翻页与遍历
Python(遍历全库到本地):
```python
import requests, time, json
APPKEY = "YOUR_APPKEY"
BASE = "https://route.showapi.com/1618-2"
all_items = []
r = requests.get(BASE, params={"appKey": APPKEY, "page": "1"}, timeout=10)
body = r.json()["showapi_res_body"]
total_pages = int(body["allPages"])
for p in range(1, total_pages + 1):
r = requests.get(BASE, params={"appKey": APPKEY, "page": str(p)}, timeout=10)
data = r.json()
if data.get("showapi_res_code") != 0:
print("第", p, "页失败:", data.get("showapi_res_error")); break
all_items.extend(data["showapi_res_body"]["contentlist"])
time.sleep(0.2) # 控制频率,守住免费档位
print("共抓取:", len(all_items))
```
cURL(取第 5 页):
```bash
curl -s --max-time 10 "https://route.showapi.com/1618-3?appKey=YOUR_APPKEY" # 注意:随机接口无 page
curl -s --max-time 10 "https://route.showapi.com/1618-2?appKey=YOUR_APPKEY&page=5"
```
## 返回示例与解析
每页返回 `contentlist`(题目数组)+ 分页四件套。遍历时用 `allPages` 作为终止条件,用 `currentPage` 校验当前页,比写死页数更稳。
## 进阶 / 边界
- `maxResult`(每页条数)默认值文档未给,实测约 12,由服务端控制;不要假设固定值。
- 全量遍历会产生大量请求,注意免费档位限制,加 `sleep` 控频;更适合"一次性建本地索引"而非高频重复。
- 随机接口(1618-3)**没有 `page`**,传了也无效,别混用。
## FAQ
**Q1:`allPages` 会变化吗?** 题库由服务端维护,总量可能调整,遍历前重新取首页数最稳。
**Q2:每页固定多少条?** 服务端控制(实测约 12),不要硬编码。
**Q3:随机接口能翻页吗?** 不能,1618-3 无分页字段。
**Q4:遍历会不会超免费档位?** 会,全库近万条需近千次请求,注意档位并控频。
## 相关能力 / 下一步阅读
- [脑筋急转弯 API 返回字段全解:contentlist / list / 分页字段一文读懂](https://www.showapi.com/guides/brainteaser-response-fields-1618)
- [免费脑筋急转弯接口的题库去重与本地缓存策略](https://www.showapi.com/guides/brainteaser-best-practice-dedup-1618)
- [用脑筋急转弯 API 做个随机出题+计分小游戏(H5/小程序)](https://www.showapi.com/guides/brainteaser-random-quiz-game-1618)
- **本系列共 12 篇**:查看[脑筋急转弯 API 指南总目录](https://www.showapi.com/guides/brainteaser-guides-1618)