谷歌是否提供类似实际网站上的自动完成搜索的API访问?我找不到任何相关信息。
我想在我的网站上使用谷歌的自动完成搜索逻辑,该网站依赖于谷歌的搜索API。
谷歌是否提供类似实际网站上的自动完成搜索的API访问?我找不到任何相关信息。
我想在我的网站上使用谷歌的自动完成搜索逻辑,该网站依赖于谷歌的搜索API。
http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY
客户端部分是必需的;我没有测试其他客户端。http://suggestqueries.google.com/complete/search?client=chrome&q=YOURQUERY&callback=callback
正如@Quandary所发现的,回调在客户端“火狐”上不起作用。首先,转到 Google,点击设置(右下角),将搜索设置更改为“从不显示即时结果”。这样,您将获得常规的自动完成而不是整个页面的即时结果。
在保存设置后,返回 Google 主页。打开浏览器的开发者工具,进入网络选项卡。如果您使用的是 Firefox 浏览器,则可能需要重新加载页面。
在搜索框中输入一个字母。刚才打开的网络窗口中应该会出现一行新的记录。该行记录显示了自动完成数据的来源。复制该 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=”部分之后,您将注意到搜索词。
在URL的末尾添加“&callback=myAmazingFunction”。您可以将myAmazingFunction替换为任何您想要命名处理数据的函数名称。
这是显示搜索词“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的脚本)。基本的步骤是:每次用户在搜索框中键入某些内容(onkeyup),就替换URL中的搜索词(q = whatever),然后将具有该URL的脚本附加到正文中。删除先前的脚本,以便正文不会混乱。
有关更多信息,请参见http://simplestepscode.com/autocomplete-data-tutorial/
上述大部分方法对我有效,具体来说以下方法符合我的目的。
http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY
作为一个Web编程新手,我对"回调"功能和查询返回文件的格式并不十分了解,我对AJAX和JSON有一些了解。 请问有人可以提供更多有关查询返回文件格式的细节吗? 谢谢。
Android Studio
中为Android apk使其工作吗? - TheCoderGuy你好,我不知道这个答案对你是否还有用,但是谷歌通过以下get请求返回JSON数据(虽然这不是官方API,但许多工具栏正在使用此API,因此谷歌可能没有停止它的理由):
http://google.com/complete/search?q=<Your keywords here>&hl=en
service.getPlacePredictions
函数中。它会在回调函数中发送数据。let service = new google.maps.places.AutocompleteService();
let displaySuggestions = function(predictions, status) {
}
service.getPlacePredictions({
input: value
}, displaySuggestions);
例子:https://dzone.com/articles/implement-and-optimize-autocomplete-with-google-pl
我正在使用 ((Edrra.com)) API,它具有谷歌搜索和建议功能,可以使用GET和POST:
谷歌建议: https://edrra.com/v1/api.php?c=google&f=suggest&k=YOUR_API_KEY&v=YOUR_SEARCH
谷歌搜索: https://edrra.com/v1/api.php?c=google&f=search&k=YOUR_API_KEY&v=YOUR_SEARCH
等等...