我正在开发一个需要访问谷歌搜索结果的搜索引擎。以下是我的选择:
我不确定某些事情:
自定义搜索API是否受限制?我可能需要大量的查询,所以如果使用有限,那将是一个问题。
是否“授权”在节点中使用代理,该代理会向Google发送搜索查询并拦截结果以向我的用户显示?如果我这样做,我不会遇到一些限制吗?
这里的灵感是gizoogle设法插入谷歌API(它们与谷歌的结果相同),但仍未使用自定义搜索(自定义搜索显示添加,此网站上没有任何内容) 。所以我假设他们有某种代理,但谷歌怎么让他们运行这些查询呢?
编辑:事实证明,自定义搜索API也受到限制。那么,gizoogle是如何做到的?
答案 0 :(得分:3)
好的,我是如何解决这个问题的:
事实证明,谷歌有一个丢失的API(可能已经弃用,所以要注意这一点)用于客户端ajax搜索。它看起来像是:
http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=test&rsz=large
只需转到that url即可了解其结果。
所以基本上就是这个过程:
get
参数userIp
以避免限制(谷歌限制来自每个用户的传入查询,因此您的服务器具有告诉谷歌它代表此userIp
唯一的缺点是必须在ajax中进行搜索,这意味着页面在加载时为空并在以后填充。但实际上你可以在URL中使用get参数来预加载搜索并填充页面,然后再将其发送到客户端。
答案 1 :(得分:2)
Google自定义搜索(GCS)有一个free mode and a paid ("enterprise") mode。
这两种模式都受服务条款(Custom Search Terms of Service)的约束 - 请务必仔细阅读。
根据我的理解,您可以使用免费模式并尽可能多地搜索。由于谷歌会返回结果,他们也会返回广告,因此他们会以这种方式获得报酬。
付费模式可让您访问API,让您关闭广告并执行其他操作。但是it comes at a cost。
我一直在梳理文档和术语等 - 这真的不是Google的最佳努力。但是如果你正如他们所描述的那样使用它,那真的很标准。
答案 2 :(得分:0)
取决于您的项目规模和可用资金,但您可以获得GSA http://www.google.com/enterprise/search/products/gsa.html
奥兹博士网站使用它来索引和提取合作网站的结果,您也可以包含Google搜索结果。从源重量排名,过滤选项到自定义输出的工作高度可定制。