亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取與谷歌搜索欄下顯示的相同的預測搜索數據

如何獲取與谷歌搜索欄下顯示的相同的預測搜索數據

慕哥9229398 2023-11-12 22:13:45
我正在嘗試找到一種方法來獲得與您輸入內容時在 Google 搜索欄下顯示的相同的預測搜索結果。我也不是在談論針對特定網站的自定義搜索。我認為這是不可能的,直到我從 Chrome 商店中發現了一個新的標簽頁擴展。https://chrome.google.com/webstore/detail/start-a-better-new-tab/kgifkabikplflflabkllnpidlbjjpgbp?hl=en他們的搜索欄預測與谷歌的完全匹配。他們從什么來源獲取這些數據?還有其他人可以推薦的預測搜索服務/API 嗎?
查看完整描述

1 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

“他們從哪里獲得這些數據?”

通過查看擴展程序的源代碼,此 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>

查看完整回答
反對 回復 2023-11-12
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號