如何获取与谷歌搜索栏下显示的相同的预测搜索数据

我正在尝试找到一种方法来获得与您输入内容时在 Google 搜索栏下显示的相同的预测搜索结果。我也不是在谈论针对特定网站的自定义搜索。我认为这是不可能的,直到我从 Chrome 商店中发现了一个新的标签页扩展。

https://chrome.google.com/webstore/detail/start-a-better-new-tab/kgifkabikplflflabkllnpidlbjjpgbp?hl=en

他们的搜索栏预测与谷歌的完全匹配。他们从什么来源获取这些数据?还有其他人可以推荐的预测搜索服务/API 吗?


慕哥9229398
浏览 60回答 1
1回答

慕尼黑8549860

“他们从哪里获得这些数据?”通过查看扩展程序的源代码,此 URL:https://google.com/complete/search?client =firefox&hl=en&q=foo它与 Google 在其搜索页面上使用的 API 相同。但该 API 受CORS 策略保护,因此无法从任何网页访问。浏览器扩展可以,因为它被授予了更多权限。要使用它,您需要一台代理服务器(可以是您自己的,也可以是免费的,如下例中的服务器)。const searchInput = document.getElementById('search'),  suggestionsList = document.getElementById('suggestions');searchInput.addEventListener('input', autocomplete);autocomplete();function autocomplete() {  const q = searchInput.value;  const proxy = 'https://cors-everywhere.herokuapp.com/';    fetch(`${proxy}https://google.com/complete/search?client=firefox&hl=en&q=${q}`, {    headers: { origin: 'google.com' }  })  .then(res => res.json())  .then(res => {    suggestionsList.innerHTML = res[1].map(x => `<li>${x}</li>`).join('')  });}<input id="search" value="foo" /><ul id="suggestions"></ul>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript