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