在 Google 地方信息上进行详尽搜索

Posted

技术标签:

【中文标题】在 Google 地方信息上进行详尽搜索【英文标题】:Exhaustive Search on Google Places 【发布时间】:2012-03-09 17:39:18 【问题描述】:

我正在尝试将 Google Places API 用于业务定位器应用,但无法创建详尽的业务数据库。

1.API调用只返回20个结果。 2.“类型”限制(例如 type=restaurant)不会在给定 zip 中按类型选择所有企业。我可以使用“关键字”,但并非所有餐厅的名称中都有餐厅,也不是所有水疗中心的名称中都有“spa”。 3. 每次调用每天都会产生相同的结果集,每次调用只有 20 次返回,我如何获得更详尽的业务数据库?

我可以尝试通过循环通过一个非常退化的企业搜索来绕过上述三个限制:比如按邮政编码、一些关键字列表、类别类型。但我仍然不会接近在 google 地方找到大约 5000 万家企业。

事实上,即使我打电话给我自己附近的餐馆和酒吧,我也不会选择街区附近的热门场所。

那么 API 如何用于定位位置的应用程序? 有关如何创建更详尽的搜索的任何建议?

谢谢, 纳德

【问题讨论】:

您能否提供一个示例 Places API 搜索请求,它没有返回所需的结果。 您可以借助 API 调用响应中的 next_page_token 获取下一个结果,借助该令牌,您可以再次获取接下来的 20 个结果,依此类推……但限制是您可以获取的最大结果.看看***.com/q/12024394/582571,这样你会得到更多的想法 【参考方案1】:

我无法回答您关于 Google Places API 的问题。

但是根据您的要求(“业务定位器应用程序”、“我不会从我这里挑选热门地点”)我建议您尝试Yelp Search API:

Yelp 的 API 程序使您能够实时访问受信任的 Yelp 信息,例如企业列表信息、整体企业评级和评论计数、交易和最近的评论摘录。

Yelp 是一个受欢迎的评论网站,拥有强大的 API,您可以在 Yelp homepage 测试数据库的质量和他们拥有的忠实用户群。

注意:

他们为自己保留一些数据,并且不会返回所有数据作为响应。 (免费)开发者帐户每 24 小时最多可调用 100 次。

【讨论】:

【参考方案2】:

我知道我迟到了,但也许这几天对某人有所帮助。

默认情况下,每个附近搜索或文本搜索最多返回 20 个 每个查询的建立结果;但是,每次搜索都可以返回为 多达 60 个结果,分为三页。

您需要使用在第一次搜索时会收到的字段nextPageToken 才能获得下一页。

https://developers.google.com/places/web-service/search

堆栈溢出的问题说:

在 Places API 中无法获得超过 60 个结果。有些人 尝试在 Google 问题跟踪器中提交功能请求,但 Google 用以下评论拒绝了它 不幸的是 Places API 不是 能够返回 60 多个结果。除了技术 返回超过 60 个结果的原因(延迟等)将 使 API 更像一个数据库或通用搜索引擎。 我们宁愿提高搜索质量,这样用户就不需要这样做了 一长串结果。

google places api more than 60 results

我遇到了与您相同的困难,因此决定改用 Yelp API。它是免费的,非常完整,最多可返回 1000 个结果。但是,您应该在做任何事情之前检查服务条款。它不提供企业的网站(仅提供 Yelp 网站链接)。

https://www.yelp.com/developers/documentation/v3/business_search

我当时调查的其他选项:

Foursquare 企业。 (非常昂贵,最多只能返回 100 条左右的结果) 这里放置 API Factual Places(我认为这不是 API) Sygic Travel API(旅游景点专用) Planet.osm (OpenStreetMap)

【讨论】:

以上是关于在 Google 地方信息上进行详尽搜索的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上的 Google 地方信息自动完成功能 - 无法加载搜索结果 - 再试一次

Google 地方信息自动填充功能无法加载搜索结果

如何从数据库中读出经纬度,然后在GOOGLE地图上进行标注

什么是 Docker

如何在 xv6 中添加系统调用/实用程序

在 Meteor 中使用 Google 地方信息自动填充功能