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
- 使用代理让我的服务器发送搜索并返回数据
我一直在梳理文档和术语之类的东西——这并不是谷歌的最大努力。但如果你完全按照他们描述的那样使用它,那就相当标准了,真的 取决于您的项目规模和可用资金,但您可以获得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
,这是避免限制所必需的(google限制来自每个用户的传入查询,因此您的服务器必须告诉google它正在代表该userIp
userIp
- 将结果发送回客户端,然后使用javascript显示结果
唯一的缺点是搜索必须在ajax中进行,这意味着页面在加载时是空的,稍后会填充。但实际上,您可以使用URL中的get参数来预加载搜索并填充页面,然后再将其发送到客户端。是的,这就是我一直在阅读的内容。尽管没有明确声明免费版本是unlimited。但我希望如此。好答案无论如何,谷歌对你如何访问他们的搜索有严格的限制,这是有充分理由的。如果你想自动执行大量搜索,你将不得不为他们支付,可能是一笔相当大的费用,因为他们有权使用“必应”在我对gizoogle的搜索结果中…所以,他们就是这样做的;他们没有,他们使用bing。