You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过经纬度利用Google Knowledge Graph/Wikidata API获取商家描述

嘿,我之前也碰到过这个问题——Google Places API确实主打本地服务数据(评论、营业时间这些),那种百科式的商家描述得靠Google Knowledge Graph API或者Wikidata API来拿,给你详细说下怎么操作:

一、用Google Knowledge Graph API 抓取商家描述

首先你得先去Google Cloud控制台申请Knowledge Graph的API密钥(和Places API用同一个项目就行),然后通过它的entities:search端点来查询:

  1. 构造请求参数:
    • query:精确到商家名称+地点(比如"星巴克 北京国贸店"),提高匹配准确率
    • types:指定类型为LocalBusiness或者Organization,过滤无关结果
    • key:你的API密钥
    • 可选参数:limit=1可以直接返回最匹配的结果

示例请求(替换成你的密钥):

GET https://kgsearch.googleapis.com/v1/entities:search?query=星巴克 北京国贸店&key=YOUR_API_KEY&types=LocalBusiness&limit=1
  1. 解析响应结果:
    响应里的items[0].result.description就是你要的那种红圈标注的描述内容。比如星巴克的结果里会返回类似“星巴克是美国一家跨国连锁咖啡店...”的文本。

注意:如果同一个商家有多个条目,记得看score字段(分数越高匹配度越高),挑最高分的那个结果就行。

二、用Wikidata API 获取商家描述

Wikidata是免费的结构化知识库,很多商家都有对应的实体条目,步骤分两步:

第一步:搜索商家对应的Wikidata实体ID

用Wikidata的搜索API找到目标商家的ID:

GET https://www.wikidata.org/w/api.php?action=wbsearchentities&search=星巴克 北京国贸店&language=zh&format=json

响应里的search[0].id就是该商家的Wikidata ID(比如星巴克总部是Q37158)。

第二步:获取实体的描述信息

拿到ID后,调用wbgetentities接口获取描述:

GET https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q37158&props=descriptions&languages=zh&format=json

解析响应里的entities[Q37158].descriptions.zh.value就是中文描述内容。

小技巧:如果你已经有商家的Google Places ID,可以通过Wikidata的属性P1997(Google Places ID)来直接关联查询,这样匹配更精准,避免重名问题。

一些补充提醒
  • Google Knowledge Graph有调用配额限制,记得在控制台查看配额情况;Wikidata是免费的,但要遵守它的速率限制(不要频繁请求)
  • 如果商家比较小众,可能没有对应的知识库条目,这时候就拿不到描述,这种情况可以考虑用Places API的editorial_summary字段(如果有的话)作为补充
  • 存储到数据库的时候,记得加上来源标识(比如标注是来自Knowledge Graph还是Wikidata),方便后续更新

内容的提问来源于stack exchange,提问作者prog1011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:49:13