主题
OnPage Lighthouse 审计项列表
接口说明
OnPage Lighthouse API 基于 Google 开源的 Lighthouse 项目,用于评估网页质量。
Lighthouse Audits 是 Lighthouse 执行页面质量检测后返回的审计结果对象。本接口用于获取当前可用的 Lighthouse 审计项标题列表。获取到这些标题后,你可以在 /v3/on_page/lighthouse/task_post 请求中指定对应的审计项,以返回特定审计结果。
说明:
- 本接口基于开源 Lighthouse 项目实现;
- 审计项名称可能随检测通过/失败状态而变化;
- 某些审计项标题中可能 Markdown 代码格式;
- 如果审计项名称中斜杠
/,应使用斜杠后的最后一个单词进行检索。
请求信息
- 请求方式:
GET - 请求地址:
https://api.seermartech.cn/v3/on_page/lighthouse/audits
计费说明
本接口不收费。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
返回结果字段说明
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本 |
status_code | integer | 通用状态码。完整错误码请参考文档中的错误码说明。建议在集成时设计完善的异常处理机制 |
status_message | string | 通用状态信息 |
time | string | 执行耗时,单位秒 |
cost | float | 本次任务总费用,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | tasks 数组中返回错误的任务数量 |
tasks | array | 任务数组 |
tasks 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识符,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000 |
status_message | string | 任务状态信息 |
time | string | 任务执行耗时,单位秒 |
cost | float | 单个任务费用,单位 USD |
result_count | integer | result 数组中的数量 |
path | array | URL 路径 |
data | object | 含与请求的数据对象 |
result | array | 结果数组 |
result 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
audits | array | 可用的 Lighthouse 审计项列表 |
使用说明
调用本接口后,你将获得当前支持的 Lighthouse 审计项标题列表。随后可以将这些标题用于 /v3/on_page/lighthouse/task_post 请求中,以指定希望返回的审计结果。
审计项使用注意事项
标题可能变化 同一类审计项在通过或失败时,返回标题可能不同。
可能 Markdown 个别标题中可能出现 Markdown 格式,解析时建议做容处理。
带
/的标题需特殊处理 如果审计项名称/,应按斜杠后的最后一个单词进行搜索匹。
请求示例
cURL
bash
curl --location --request GET "https://api.seermartech.cn/v3/on_page/lighthouse/audits" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"Python
python
import requests
url = "https://api.seermartech.cn/v3/on_page/lighthouse/audits"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
print(response.json)TypeScript
typescript
import axios from "axios";
// 获取可用的 Lighthouse 审计项列表
axios({
method: "get",
url: "https://api.seermartech.cn/v3/on_page/lighthouse/audits",
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
})
.then((response) => {
// 返回结果
console.log(response.data);
})
.catch((error) => {
console.error(error);
});响应示例
json
{
"version": "0.1.20210713",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.3788 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"data": {
"api": "on_page",
"function": "lighthouse"
},
"result": [
{
"audits": [
"is-on-https",
"redirects-http",
"service-worker",
"works-offline",
"viewport",
"without-javascript"
]
}
]
}
]
}响应状态与错误处理
status_code = 20000表示请求成功;- 若返回状态码,表示请求或任务执行异常;
- 建议同时检查:
- 顶层
status_code tasks任务级status_codetasks_error是否大于0
在生产环境中,建议对以下进行处理:
- 认证失败
- 请求参数错误
- 接口限流
- 平台处理异常
- 返回结果字段缺失或结构变化
接口
- 提交 Lighthouse 任务:
/v3/on_page/lighthouse/task_post
实用场景
- 拉取可用审计项单:在创建 Lighthouse 任务前获取当前支持的审计项,传无效标题导致任务失败。
- 动态构建审计:根据接口返回的审计项列表,自动生成前端筛选器或任务面板,提升 SEO 工的可维护性。
- 校验审计项容性:在批量提交
/v3/on_page/lighthouse/task_post之前,校验目标审计项是否仍可用,减少因平台变更造成的异常。 - 维护审计项映射表:定期同步可用审计项,建立中文名称与技术标题的映射,方便业务系统展示与分析。
- 监控审计项变更:持续比较不同时间点返回的
audits列表,及时发现平台 Lighthouse 审计项的新增、下线或命名变化。