Javascript 谷歌全网定制搜索及其局限性(gizoogle)

Javascript 谷歌全网定制搜索及其局限性(gizoogle),javascript,node.js,search-engine,google-search-api,google-custom-search,Javascript,Node.js,Search Engine,Google Search Api,Google Custom Search,我正在开发一个搜索引擎,它需要访问谷歌的搜索结果。以下是我的选择: 使用自定义搜索API 使用代理让我的服务器发送搜索并返回数据 但有些事情我不确定: 自定义搜索API是否有限?我可能需要大量的查询,因此如果使用受到限制,这将是一个问题 是否“授权”在节点中使用代理,向谷歌发送搜索查询并截取结果以显示给我的用户?如果我这样做,我会不会遇到一些限制 这里的灵感来自于在不使用自定义搜索的情况下(自定义搜索显示添加内容,而此网站上没有任何内容)插入谷歌API(它们的结果与谷歌相同)。所以我假设他们

我正在开发一个搜索引擎,它需要访问谷歌的搜索结果。以下是我的选择:

  • 使用自定义搜索API
  • 使用代理让我的服务器发送搜索并返回数据
但有些事情我不确定:

自定义搜索API是否有限?我可能需要大量的查询,因此如果使用受到限制,这将是一个问题

是否“授权”在节点中使用代理,向谷歌发送搜索查询并截取结果以显示给我的用户?如果我这样做,我会不会遇到一些限制

这里的灵感来自于在不使用自定义搜索的情况下(自定义搜索显示添加内容,而此网站上没有任何内容)插入谷歌API(它们的结果与谷歌相同)。所以我假设他们有某种代理,但是谷歌为什么让他们运行这些查询呢

编辑:事实证明,自定义搜索API也是有限的。那么,gizoogle是怎么做的呢?

谷歌自定义搜索(GCS)有一个很好的解决方案

这两种模式都受服务条款()的约束-请确保仔细阅读

据我所知,你可以使用免费模式,搜索你想要的。因为谷歌会返回搜索结果,他们也会返回广告,所以他们可以通过这种方式获得报酬

付费模式允许您访问API,让您关闭广告并做其他事情。但是


我一直在梳理文档和术语之类的东西——这并不是谷歌的最大努力。但如果你完全按照他们描述的那样使用它,那就相当标准了,真的

取决于您的项目规模和可用资金,但您可以获得GSA


Dr Oz webite使用此功能对合作网站的结果进行索引和拉入,您还可以将谷歌结果包括在内。高度可定制的作品,从源权重排名,过滤选项到自定义输出

好的,下面是我解决这个问题的方法:

事实证明,google有一个丢失的用于客户端ajax搜索的API(可能已弃用,请注意)。看起来是这样的:


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

去看看会有什么结果

因此,基本上这是一个过程:

  • 用户键入一个搜索
  • 它用ajax发送到您的服务器
  • 服务器可能会根据您的应用程序修改搜索(过滤禁用词或其他内容)
  • 您的服务器从google轮询ajax web服务-别忘了添加
    get
    参数
    userIp
    ,这是避免限制所必需的(google限制来自每个用户的传入查询,因此您的服务器必须告诉google它正在代表该
    userIp
  • 将结果发送回客户端,然后使用javascript显示结果

唯一的缺点是搜索必须在ajax中进行,这意味着页面在加载时是空的,稍后会填充。但实际上,您可以使用URL中的get参数来预加载搜索并填充页面,然后再将其发送到客户端。

是的,这就是我一直在阅读的内容。尽管没有明确声明免费版本是unlimited。但我希望如此。好答案无论如何,谷歌对你如何访问他们的搜索有严格的限制,这是有充分理由的。如果你想自动执行大量搜索,你将不得不为他们支付,可能是一笔相当大的费用,因为他们有权使用“必应”在我对gizoogle的搜索结果中…所以,他们就是这样做的;他们没有,他们使用bing。