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使用该索引和从合作网站中的结果拉,你就必须包括谷歌的能力,结果以及。来自源重量排名的作品具有高度可定制性,过滤选项以定制输出。