3

我正在尋找一個搜索引擎,需要有權訪問谷歌的結果。這裏是我的選擇:谷歌自定義搜索整個網絡和限制(gizoogle)

  • 使用自定義搜索API
  • 使用代理,使我的服務器發送搜索和返回數據

我不知道一些事情,但:

自定義搜索API是否有限?我可能需要大量的查詢,所以如果使用有限,這將是一個問題。

是否「授權」在節點中使用代理,該代理會向Google發送搜索查詢並攔截結果以顯示給我的用戶?如果我這樣做,我會不會遇到一些限制?

這裏的靈感是gizoogle它設法插入谷歌API(他們有谷歌相同的結果),同時還沒有使用自定義搜索(自定義搜索顯示添加,並沒有任何在這個網站上)。所以我假設他們有某種代理,但Google如何讓他們運行這些查詢?

編輯:事實證明,自定義搜索API也是有限的。那麼,gizoogle是怎麼做的?

+1

Google對於您如何訪問其搜索有着嚴格的限制,理由很充分。如果你想自動執行大量的搜索,你將不得不支付他們,可能是相當數額,爲此特權 – Jason

+0

說我的搜索結果gizoogle「Bing」...所以,這就是他們如何做到這一點;他們沒有,他們用冰。 – dandavis

回答

3

確定這裏是我如何解決了這個問題:

事實證明,谷歌已經爲客戶端AJAX搜索丟失的API(可能過時,所以要意識到這一點)。它看起來像:

http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=test&rsz=large

只要去that url會有怎樣的結果如何。

所以基本上這裏的過程是:

  • 的用戶鍵入搜索
  • 它是在阿賈克斯發送到您的服務器
  • ,服務器可能會修改搜索依賴於你的應用程序(過濾禁止詞或任何)
  • 您的服務器從谷歌民意調查ajax網絡服務 - 不要忘記添加get參數userIp這是必要的,以避免限制(谷歌限制來自每個用戶的傳入查詢,所以你的服務器已經告訴谷歌,它正在代表此userIp
  • 請求您發回的結果給客戶端,然後使用JavaScript來顯示它們

唯一的缺點是,搜索必須進行在ajax中,這意味着頁面在加載時爲空並在稍後填充。但是,您實際上可以在URL中使用get參數來預先加載搜索並在將頁面發送給客戶端之前填充頁面。

2

Google Custom Search(GCS)有free mode and a paid ("enterprise") mode

這兩種模式都受服務條款(Custom Search Terms of Service)的規定 - 請確保您仔細閱讀。

根據我的理解,您可以使用免費模式和儘可能多的搜索。由於谷歌正在返回結果,他們也會返回廣告,所以他們會以這種方式獲得報酬。

付費模式可讓您訪問API,讓我們關閉廣告並做其他事情。但it comes at a cost

我一直在梳理文檔和術語等 - 這實際上不是Google的最大努力。但是,如果你完全按照他們的描述使用它,那真的很標準。

+0

是的,這是我一直在閱讀。雖然沒有明確表示免費版本是無限的。但我希望如此。無論如何,好的答案 – Malharhak

0

取決於你的項目的規模和資金可用,但是你可以得到一個GSA http://www.google.com/enterprise/search/products/gsa.html

奧茲博士webite使用該索引和從合作網站中的結果拉,你就必須包括谷歌的能力,結果以及。來自源重量排名的作品具有高度可定製性,過濾選項以定製輸出。