主题
获取 Google Dataset Search 高级结果
本接口使用 GET 方法,通过任务 ID 获取 Google Dataset Search 的高级搜索结果:
text
GET https://api.seermartech.cn/v3/serp/google/dataset_search/task_get/advanced/$id$id 为提交任务时返回的唯一任务标识。任务结果自创建之日起保留 30 天,在此期间可重复获取。
计费说明
本接口对提交任务的操作计费。任务提交后,可在 30 天获取任务结果。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,采用 UUID 格式。任务创建后 30 天可使用该 ID 获取结果。 |
示例任务 ID:
text
02261816-2027-0066-0000-c27d02864073认证方式
请求头中使用 Bearer Token:
http
Authorization: Bearer smt_live_YOUR_KEY响应结构
接口返回 JSON 对象 tasks 数组。每个任务对象任务状态、请求参数及搜索结果。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 顶层响应状态码。完整状态码请参考错误码文档。 |
status_message | string | 顶层响应说明。 |
time | string | 请求执行耗时,单位为秒。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
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 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
result_count | integer | result 数组中的结果数量。 |
path | array | 当前请求的 URL 路径信息。 |
data | object | 提交任务时使用的参数。 |
result | array | 搜索结果数组。 |
data 请求参数回显
data 对象会返回提交任务时指定的参数,例如:
| 字段 | 类型 | 说明 |
|---|---|---|
api | string | API 类型,例如 serp。 |
function | string | 接口功能,例如 task_get。 |
se | string | 搜索引擎,例如 google。 |
se_type | string | 搜索类型,例如 dataset_search。 |
keyword | string | 搜索。 |
last_updated | string | 数据集最近更新时间筛选条件。 |
file_formats | array | 文件格式筛选条件。 |
usage_rights | string | 使用权限筛选条件。 |
is_free | boolean | 是否返回数据集。 |
topics | array | 主题筛选条件。 |
device | string | 设备类型,例如 desktop。 |
os | string | 操作系统,例如 windows。 |
result 搜索结果字段
| 字段 | 类型 | 说明 |
|---|---|---|
keyword | string | 请求中的。返回时会对编码进行解码,+ 会被解码为空格。 |
se_domain | string | 请求中的搜索引擎域名。 |
language_code | string | 请求中的语言代码。 |
check_url | string | 直接指向搜索结果页的 URL,可用于核验结果准确性。 |
datetime | string | 获取结果的时间,采用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。 |
spell | object | 搜索引擎自动纠错信息。 |
refinement_chips | object | 搜索细化选项。 |
item_types | array | 搜索结果类型列表,可能 dataset。 |
se_results_count | integer | 搜索结果页中的结果总数。 |
items_count | integer | items 数组中返回的结果数量。 |
items | array | 搜索结果数组。 |
refinement_chips 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,固定为 refinement_chips。 |
xpath | string | 素在页面中的 XPath。 |
items | array | 搜索细化选项列表。 |
refinement_chips.items 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,固定为 refinement_chips_element。 |
title | string | 细化选项标题。 |
url | string | 携带细化参数的搜索 URL。 |
domain | string | 搜索结果中的域名。 |
options | array | 更细一级的搜索细化选项。 |
refinement_chips.items.options 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,固定为 refinement_chips_option。 |
title | string | 选项标题。 |
url | string | 携带细化参数的搜索 URL。 |
domain | string | 搜索结果中的域名。 |
items 数据集结果字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 结果类型,固定为 dataset。 |
rank_group | integer | 同类型结果组的排名。不同类型结果之间不会计此排名。 |
rank_absolute | integer | 在整个搜索结果页中的绝对排名。 |
position | string | 结果在搜索结果页中的对齐位置,可为 left 或 right。 |
xpath | string | 结果的 XPath。 |
dataset_id | string | 数据集 ID。 |
title | string | 数据集标题。 |
image_url | string | 数据集图片 URL。可能指向原始资源,也可能指向平台存储中的图片。 |
scholarly_citations_count | integer | 引用该数据集的学术文章数量。 |
scholarly_articles_url | string | Google Scholar 学术文章列表 URL。 |
unique_identifier | string | 数据集的唯一数字标识,例如 DOI。 |
related_article | string | 与数据集的已发表文章 URL。 |
links | array | 数据集结果下方显示的站点链接;没有站点链接时为 null。 |
dataset_providers | array | 数据集提供机构列表。 |
formats | array | 数据集文件格式列表。 |
authors | array | 数据集列表。 |
licenses | array | 数据集许可证列表。 |
updated_date | string | 结果最近更新时间,采用 UTC 格式。 |
area_covered | array | 数据集覆盖区域,例如 Africa、Global。 |
period_covered | object | 数据集覆盖时间范围。 |
dataset_description | object | 数据集描述信息。 |
links 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,通常为 link_element。 |
title | string | 站点链接标题。 |
description | string | 站点链接描述。 |
url | string | 站点链接 URL。 |
domain | string | 搜索结果中的域名。 |
dataset_providers 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,通常为 dataset_providers_element。 |
title | string | 数据集提供方名称。 |
url | string | 数据集提供方网站 URL。 |
domain | string | 数据集提供方网站域名。 |
formats 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,通常为 formats_element。 |
format | string | 文件格式,例如 zip、html、csv。 |
size | string | 文件大小,单位为字节。 |
authors 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,通常为 authors_element。 |
name | string | 数据集姓名。 |
url | string | 链接 URL。 |
domain | string | 链接域名。 |
licenses 字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,通常为 licenses_element。 |
title | string | 许可证名称。 |
url | string | 许可证 URL。 |
domain | string | 许可证页面域名。 |
period_covered 字段
| 字段 | 类型 | 说明 |
|---|---|---|
start_date | string | 数据覆盖开始时间,采用 UTC 格式。 |
end_date | string | 数据覆盖结束时间,采用 UTC 格式。 |
displayed_date | string | 搜索结果页展示的时间范围,例如 Mar 2, 2020 - Dec 9, 2022。 |
dataset_description 字段
| 字段 | 类型 | 说明 |
|---|---|---|
text | string | 数据集描述文本。 |
links | array | 描述文本中的链接;没有链接时为 null。 |
dataset_description.links 中的字段如下:
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 素类型,通常为 link_element。 |
title | string | 链接锚文本。 |
description | string | 链接描述。 |
url | string | 链接 URL。 |
domain | string | 链接域名。 |
cURL 示例
bash
id="02261816-2027-0066-0000-c27d02864073"
curl --location --request GET \
"https://api.seermartech.cn/v3/serp/google/dataset_search/task_get/advanced/${id}" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"GET 请求无需提交请求体。
TypeScript 示例
typescript
import axios from "axios";
const taskId = "02231256-2604-0066-2000-57133b8fc54e";
axios
.get(
`https://api.seermartech.cn/v3/serp/google/dataset_search/task_get/advanced/${taskId}`,
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
}
)
.then((response) => {
// 处理接口返回的任务结果
console.log(response.data);
})
.catch((error) => {
// 处理网络错误或接口错误
console.error(error.response?.data || error.message);
});Python 示例
python
import requests
task_id = "02261816-2027-0066-0000-c27d02864073"
url = (
"https://api.seermartech.cn/v3/serp/google/dataset_search/"
f"task_get/advanced/{task_id}"
)
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers, timeout=30)
response.raise_for_status()
data = response.json()
if data.get("status_code") == 20000:
# 遍历任务及数据集搜索结果
for task in data.get("tasks", []):
if task.get("status_code") == 20000:
for result in task.get("result", []):
for item in result.get("items", []):
print(item.get("title"))
else:
print(
f"请求失败,状态码:{data.get('status_code')},"
f"消息:{data.get('status_message')}"
)响应示例
json
{
"version": "0.1.20230825",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1023 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "02261816-2027-0066-0000-c27d02864073",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0912 sec.",
"cost": 0,
"result_count": 1,
"path": [
"v3",
"serp",
"google",
"dataset_search",
"task_get",
"advanced"
],
"data": {
"api": "serp",
"function": "task_get",
"se": "google",
"se_type": "dataset_search",
"keyword": "water quality",
"last_updated": "1m",
"usage_rights": "noncommercial",
"is_free": true,
"device": "desktop",
"os": "windows"
},
"result": [
{
"keyword": "water quality",
"se_domain": "google.com",
"language_code": "en",
"check_url": "https://www.google.com/search?q=water+quality",
"datetime": "2023-10-21 03:00:00 +00:00",
"item_types": [
"dataset"
],
"se_results_count": 27,
"items_count": 20,
"items": [
{
"type": "dataset",
"rank_group": 1,
"rank_absolute": 1,
"position": "left",
"xpath": null,
"dataset_id": "L2cvMTFuMDQ3dnFsZw==",
"title": "Watershed Water Quality - Wastewater",
"image_url": null,
"scholarly_citations_count": null,
"scholarly_articles_url": null,
"unique_identifier": null,
"related_article": null,
"links": null,
"dataset_providers": [],
"formats": [],
"authors": [],
"licenses": [],
"updated_date": "2023-10-03 03:00:00 +00:00",
"area_covered": null,
"period_covered": null,
"dataset_description": {
"text": "This dataset is a collection of wastewater treatment plant monitoring results.",
"links": null
}
},
{
"type": "dataset",
"rank_group": 2,
"rank_absolute": 2,
"position": "left",
"xpath": null,
"dataset_id": "L2cvMTFuMDQ3dnFsZw==",
"title": "Georgian Bay Water Quality",
"image_url": null,
"scholarly_citations_count": 4,
"scholarly_articles_url": "https://scholar.google.com/scholar?q=%22georgian%20bay%20water%20quality%22",
"unique_identifier": null,
"related_article": null,
"links": [],
"dataset_providers": [],
"formats": [],
"authors": null,
"licenses": [],
"updated_date": "2023-10-18 03:00:00 +00:00",
"area_covered": [],
"period_covered": {
"start_date": "2003-01-01 02:00:00 +00:00",
"end_date": "2005-12-31 02:00:00 +00:00",
"displayed_date": "Jan 1, 2003 - Dec 31, 2005"
},
"dataset_description": {
"text": "This dataset contains water quality observations collected across Georgian Bay.",
"links": null
}
}
]
}
]
}
]
}错误处理
建议同时检查顶层响应和任务级响应中的 status_code:
20000:请求或任务执行成功。40000及以上:任务执行失败或返回错误。- 当
result为空、result_count为0或tasks_error大于0时,应结合status_message进行异常处理。 - 任务结果保留 30 天,期限后无法继续通过任务 ID 获取。
实用场景
- 监控目标的数据集搜索结果,识别 Google Dataset Search 中的排名、结果类型和展示位置,为选题与数据资源建设提供依据。
- 挖掘竞争数据集的提供方、和许可证信息,评估数据来源质量与二次使用条件,支持行业研究和合规。
- 跟踪数据集更新时间与覆盖周期,筛选持续更新且覆盖范围匹的数据资源,提升数据采购和研究选型效率。
- 分析数据集标题与描述,提取主题、文件格式、论文和唯一标识符,用于构建数据资源目录或知识库。
- 比较不同下的数据集结果变化,评估数据主题在搜索引擎中的可见度,为数据 SEO 和专题页面优化提供依据。