Google是否提供API访问自动完成功能以进行搜索,就像在实际网站上一样?我什么也找不到。
我想在我自己的网站上使用谷歌的自动完成逻辑进行网络搜索,这依赖于谷歌的搜索API。
发布于 2011-12-07 21:20:27
新的url是:
http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY
客户端部分是必需的;我没有测试其他客户端。
编辑
如果您想要回调,请使用以下代码:
http://suggestqueries.google.com/complete/search?client=chrome&q=YOURQUERY&callback=callback
正如@Quandary发现的那样,回调不适用于客户端"firefox“。
EDIT2
如@ user2067021所示,该接口将于2015-10-08停止工作:Update on the Autocomplete API
发布于 2015-03-01 03:57:58
首先,转到google,点击设置(右下角),将搜索设置更改为“从不显示即时结果。这样,您将获得常规的自动补全,而不是整个页面的即时结果。”
保存设置后,返回Google主页。打开浏览器的开发人员工具,然后转到网络选项卡。如果你在Firefox中,你可能需要重新加载页面。
在搜索框中键入一个字母。在您刚刚打开的Network窗口中应该会出现一个新的行。这一行显示了自动补全数据的来源。复制该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=
。
添加&callback=myAmazingFunction
到url的末尾。您可以将myAmazingFunction替换为将处理数据的函数命名为您想要的任何名称。
下面是显示搜索词"a“的自动补全数据所需的代码示例。
/* this function shows the raw data */
function myAmazingFunction(data){
document.getElementById('output').innerHTML = data;
}
现在您知道了如何获取数据,下一步是自动更改最后一个脚本(带有自动完成url的脚本)。基本步骤是:每次用户在搜索框中键入内容(onkeyup)时,替换url中的搜索项(q=whatever),然后将具有该url的脚本附加到正文中。删除前面的脚本,这样主体就不会变得杂乱。
有关详细信息,请参阅http://simplestepscode.com/autocomplete-data-tutorial/
发布于 2013-10-23 00:51:57
上面提到的大多数方法对我来说都是有效的,特别是下面的方法可以满足我的目的。
http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY
作为web编程的新手,我不太了解“回调”功能和查询返回的文件格式。我对AJAX和JSON知之甚少。有人能提供更多关于查询返回的文件格式的详细信息吗?谢谢。
https://stackoverflow.com/questions/6428502
复制相似问题