Googlesearch自动填充API?

Google是否提供了像实际网站一样的自动完成searchAPI访问权限? 我一直无法find任何东西。

我想在我自己的网站上使用Google的自动完成逻辑进行networkingsearch,这个网站依赖于Google的searchAPI。

新的url是:

http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY

客户端部分是必需的; 我没有testing其他客户。

[编辑]

如果你想要callback使用这个:

http://suggestqueries.google.com/complete/search?client=chrome&q=YOURQUERY&callback=callback

正如@Quandary发现的; 该callback不适用于客户端“firefox”。

[EDIT2]

如@ user2067021所示,此API将于2015 年8月10日停止工作: 自动完成API的更新

上面提到的大多数方法都适用于我,具体来说以下是我的目的。

http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY 

作为networking编程的新手,我不太了解“callback”function和查询返回的文件格式。 我很less意识到AJAX和JSON。 有人可以提供有关查询返回的文件格式的更多细节。 谢谢。

首先,去谷歌,点击设置(右下angular),更改search设置“从不显示即时结果。这样,你会得到定期的自动完成,而不是一整页即时结果。

保存设置后,请返回Google主页。 打开浏览器的开发人员工具,然后转到networking选项卡。 如果您在Firefox中,则可能需要重新加载页面。

在search框中input一个字母。 一个新行应该出现在刚打开的networking窗口中。 该行显示了自动填充数据的来源。 复制该url。 它应该看起来像这样:

 https://www.google.com/complete/search?client=hp&hl=en&sugexp=msedr&gs_rn=62&gs_ri=hp&cp=1&gs_id=9c&q=a&xhr=t&callback=hello 

您会在q=的部分之后注意到您的search字词。

&callback=myAmazingFunction添加到url的末尾。 你可以将myAmazingFunctionreplace成你想要处理数据的函数。

以下是显示search字词“a”的自动填充数据所需的代码示例。

 <div id="output"></div> <script> /* this function shows the raw data */ function myAmazingFunction(data){ document.getElementById('output').innerHTML = data; } </script> <script src="https://www.google.com/complete/search?client=hp&hl=en&sugexp=msedr&gs_rn=62&gs_ri=hp&cp=1&gs_id=9c&q=a&xhr=t&callback=hello&callback=myAmazingFunction"></script> 

现在您知道如何获取数据,下一步是自动更改最后一个脚本(带有自动完成url的脚本)。 基本的过程是:每当用户在search框(onkeyup)中键入一些东西来replaceurl中的search词(q = whatever),然后在该正文中附加一个带有该URL的脚本。 删除以前的脚本,使身体不会混乱。

有关更多信息,请参阅http://simplestepscode.com/autocomplete-data-tutorial/

你想用什么自动完成? 更多信息将有助于缩小范围。

据我所知,谷歌不提供一个,但他们确实存在像jQuery UI的自动完成。

编辑:

如果您在此使用自定义searchAPI视图进行自动填充,

嗨,我不知道这个答案是否与你有关,但谷歌返回JSON数据通过以下获取请求(虽然这不是一个官方的API,但许多工具栏使用这个API,所以没有任何理由为什么谷歌可能会停止它):

 http://google.com/complete/search?q=<Your keywords here>&hl=en