API 规则入门:用 JSONPath 对接接口型站点
XPath 规则假设目标站是服务端直接输出完整 HTML 的传统网站。但如今不少站点的页面内容由前端调接口加载——HTML 里干干净净,数据都在 JSON 接口里。对这类站点,应用提供了第二种规则类型:API 规则。
API 规则的工作方式
与 XPath 规则的两段式分工完全对应,只是武器换了:
| XPath 规则 | API 规则 | |
|---|---|---|
| 请求什么 | 网页 HTML | 网站的 JSON 接口 |
| 怎么定位数据 | XPath 选择器 | JSONPath 表达式 |
| 适合的站点 | 服务端渲染的传统站 | 前后端分离、前端调接口的站 |
判断一个站该用哪种规则很简单:在开发者工具的网络面板里看搜索时发出的请求——返回 HTML 就是 XPath 站,返回 JSON 就是 API 站。
混搭是允许的
检索和选集两段路可以独立选择类型:XPath 搜索配 API 选集、API 搜索配 XPath 选集,都是合法组合。混搭的理由很实际——有的站搜索页是传统页面、选集数据却走接口(或反过来)。官方建议:初次开发先选一种类型跑通整条链路,确认理解了字段依赖关系后,再根据网站实际结构考虑混合配置。
上手建议
- JSONPath 的语法思路与 XPath 类似(都是「从结构里挑数据」),写过 XPath 再看 JSONPath 会觉得眼熟;
- 接口通常还带参数、分页、鉴权等变数,动手前先用浏览器或接口调试工具把接口响应完整看一遍,确认哪个字段是列表、哪个字段是名字;
- 官方文档有专门的 API 规则开发章节与示例,写之前通读一遍能少走弯路;
- 调试阶段的故障表现与 XPath 规则同源——搜不出查检索段、放不出查选集段与嗅探,思路见规则排错。