月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 防止文章被复制的网络分析软件百度博客搜索服务正式发布 »

百度和Google的编程接口比较

  百度和Google做为知名的搜索引擎,有非常丰富的搜索资源信息,很多人都希望编写程序调用搜索引擎的宝贵数据,昨天我写的那个程序是调用百度的搜索接口,为什么使用百度的呢,这中间其实也是有原因的。

  我最开始打算调用Google的接口,Google本身也提供了Google SOAP Search API供程序员调用,一天可以进行一千次搜索调用,由于API是通过Web Service提供的,因此最佳调用是通过Java调用,然而不知何故我调试时候,搜索英文没问题,搜索中文就老报数组溢出错误。

  由于我的调用程序需要访问Access数据库,因此我还是打算使用VB来编写,通过VB直接访问Google的搜索页面,于是我就很快写了一个通过VB直接调用Google查询的程序,一运行,发现竟然失败了,这令我很惊讶,因为我去年六月曾经也写过类似的调用程序,少量的直接调用Google搜索,当时是可以成功的。而现在调用失败,说明此功能已经被完全禁止。出现的错误界面如下所示。

Google禁止的界面

  其中的信息提到一个地址,就是“适用于个人的Google服务条款”,其中有一条:“不得执行自动查询 :未经 Google 事先明确许可,不得将任何形式的自动查询发到 Google 系统。请注意,‘自动查询’包括通过使用软件向 Google 发送查询来确定搜索不同内容时网站的 Google 排名。”

  这一条也就禁止用户编写程序直接调用Google,而必须通过类似Google SOAP Search API这样的接口来调用,每天查询次数被限制为1000次以下。

  然而我通过同样的原理调用百度搜索引擎的时候,却发现调用完全正常,百度可以返回正确的搜索结果,虽然有时候搜索结果里会带有竞价广告。我尝试增加调用频率,在短时间内进行五千次以上的程序搜索,发现程序依旧工作正常,百度依旧会返回查询结果。

  搜索引擎开放程序直接调用,的确方便了很多程序员,这样,即使百度不提供类似Google的API,我们也可以编程访问其搜索资源。

  当然,我也猜测,百度这样做也不一定真的是为了造福大众,因为百度以前曾经推广过一些搜索插件程序,类似紫光拼音输入法也会绑定百度的插件,因此会存在大量通过客户端程序而不是浏览器对于百度的访问,而百度对这方面很难进行判断识别,因此就开放了应用程序的直接调用搜索。而Google没有推广过类似的客户端插件,因此为了节省服务器资源,索性就完全关闭了客户端的直接调用。

  客户端的这种调用,对百度来说也是有一定压力的,如果大家滥用这些资源,那么百度也有可能会学Google一样关闭客户端的直接调用,因此不可滥用资源,例如我昨天提供的程序就限制了每次最多只能进行500次查询,以免对搜索服务器造成过大负载。



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/714.html
  • 文章排行:
  • 2.capella
  • 给一些喜黑人士提供了一些好思路。
    如果在短时间内过度调用,会不会影响到服务器的正常访问而形成攻击呢?
  • 2006-12-7 9:01:05
  • 6.Jedy
  • google是通过user agent来判断的,把客户端的user agent改成浏览器的就可以正常查询了。
  • 2006-12-11 14:40:36
  • 8.alaren
  • 到哪里去找百度的api下载呢?是不是现在google已经不提供soapApi下载了呢?我到网上都找不到。我做课程设计想用到其它搜索引擎的搜索结果。如果你能回答我的问题,那么发邮件给我好吗?万分感谢!
  • 2007-4-3 23:25:58
  • 12.binbin
  • 到哪里去找百度的api下载呢?是不是现在google已经不提供soapApi下载了呢?我到网上都找不到。我做课程设计想用到其它搜索引擎的搜索结果。如果你能回答我的问题,那么发邮件给我好吗?万分感谢!
  • 2007-5-6 17:03:43
  • 13.binbin
  • 情况是这样的 我的毕业设计就是要利用公共搜索引擎象baidu google 的搜索结果 能告诉我怎么找到这样的接口阿 你要是能指点一下 我心里万分感激阿
  • 2007-5-6 17:08:45
  • 14.gw
  • 我想要一份调用百度搜索引擎的源码看看,能给我一份么?万分感激!
    我的油箱:gaswei1984@yahoo.com.cn
  • 2007-5-31 16:29:47
  • 15.皮皮
  • 月光,您好,觉得您的博客真是太好了,提供了好多对大家有用的信息。不过我有一点想请教教,就是百度,雅虎等搜索引擎怎么才能像google soap api那样可以访问资源啊,可不可以指点一下,您说的百度可以直接访问,我不明白如何直接访问啊,谢谢。可不可以给我也发一份调用百度搜索引擎的源码,万分感谢!zhangyanpipiluxixi@sina.com
  • 2007-6-11 10:42:42
  • 16.曾曾
  • 我想要一份百度搜索引擎的API和调用百度搜索引擎的源码看看,能给我一份么?万分感激!不知道调用百度搜索引擎的API是否需要授权
    我的油箱:zengsr@zt.com.cn
  • 2008-3-28 17:35:26
  • 17.酷B
  • 你好. 今天突发其想搞学习搜索引擎. 但是找了半天没找到Baidu的API 如你知道.请告知.万分感谢 kubbvip@qq.com
  • 2008-3-28 22:51:28
  • 18.狂野之舞
  • 你的网站经常被我浏览到..最近想学一下搜索.. 看得出来你是Google的Fans. 确实Google很强大. 想知道百度的API .不知能否发我一个.165601082@qq.com
  • 2008-3-28 23:46:40

发表评论:

◎声明:转载本文时请务必以超链接形式标明文章原始出处和作者,本文严禁商业网站转载。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过抓虾订阅本站
  • 通过电子邮件订阅本站

站内搜索


热文排行

最新评论

最近发表

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.