青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 防止文章被复制的网络分析软件百度博客搜索服务正式发布 »

百度和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/archives/714.html
  • 文章排行:
  • 2.weida
  • 我是找了很久的所谓baidu api 调用的资料,只有你这边有说到调用的,能不能给份调用baidu api 的例子看看,谢谢。
    邮箱:[email protected]
  • 2009/11/25 9:40:06   支持(16)反对(8) 回复
  • 3.binbin
  • 情况是这样的 我的毕业设计就是要利用公共搜索引擎象baidu google 的搜索结果 能告诉我怎么找到这样的接口阿 你要是能指点一下 我心里万分感激阿
  • 2007/5/6 17:08:45   支持(11)反对(6) 回复
  • 4.睡虫子
  • 正在了解baidu api 和google api,受益了,谢谢~
  • 2009/12/7 18:02:18   支持(11)反对(6) 回复
  • 5.Jedy
  • google是通过user agent来判断的,把客户端的user agent改成浏览器的就可以正常查询了。
  • 2006/12/11 14:40:36   支持(13)反对(9) 回复
  • 6.tr
  • hello,我也和大家一样,对调用搜索引擎接口感兴趣,楼主(在贵博客找不到你的邮箱)如果有范例,请发我一份,谢谢
    [email protected]
  • 2009/5/23 15:44:04   支持(10)反对(8) 回复
  • 7.gw
  • 我想要一份调用百度搜索引擎的源码看看,能给我一份么?万分感激!
    我的油箱:[email protected]
  • 2007/5/31 16:29:47   支持(9)反对(8) 回复
  • 8.皮皮
  • 月光,您好,觉得您的博客真是太好了,提供了好多对大家有用的信息。不过我有一点想请教教,就是百度,雅虎等搜索引擎怎么才能像google soap api那样可以访问资源啊,可不可以指点一下,您说的百度可以直接访问,我不明白如何直接访问啊,谢谢。可不可以给我也发一份调用百度搜索引擎的源码,万分感谢![email protected]
  • 2007/6/11 10:42:42   支持(11)反对(10) 回复
  • 9.hupf
  • 给我一份百度的搜索接口啊,[email protected]
  • 2009/7/7 9:16:08   支持(7)反对(6) 回复
  • 10.capella
  • 给一些喜黑人士提供了一些好思路。
    如果在短时间内过度调用,会不会影响到服务器的正常访问而形成攻击呢?
  • 2006/12/7 9:01:05   支持(7)反对(7) 回复
  • 11.ewcn888
  • 想要一份百度的搜索接口 万分感谢 [email protected]

    万分感谢!
  • 2009/10/19 10:46:37   支持(6)反对(6) 回复
  • 12.izero
  • 最近在学习一些东西..需要用到百度的搜索结果..开始是自己写一些过滤字符串的东西从HTML里分离,但是效果是在太差了...这位大哥哥可以详细介绍一下怎么调用baidu的搜索结果吗(发我邮箱,可以吗?)?...感激涕零...
  • 2010/12/11 23:03:51   支持(11)反对(11) 回复
  • 13.yinlei
  • 写的非常仔细,不知道博主现在还有没有那程序了,非常想学习一下。邮箱 [email protected] 万分感谢!

  • 2011/6/9 19:51:47   支持(10)反对(10) 回复
  • 14.1111
  • 写的非常仔细,不知道博主现在还有没有那程序了,非常想学习一下。邮箱 [email protected] 万分感谢!
  • 2011/9/30 16:50:26   支持(10)反对(10) 回复
  • 15.狼王德鲁伊
  • 还好这么调用的不算多
  • 2006/12/7 13:23:25   支持(7)反对(8) 回复
  • 16.狂野之舞
  • 你的网站经常被我浏览到..最近想学一下搜索.. 看得出来你是Google的Fans. 确实Google很强大. 想知道百度的API .[email protected]
  • 2008/3/28 23:46:40   支持(7)反对(8) 回复
  • 17.Tux
  • 你这么调用不被封才怪

    另外,google有ajax的search接口,不限调用次数

    另外,apache的httpclient的jar包可以模拟浏览器,让google看起来就是浏览器在调用一样
  • 2009/5/15 9:00:16   支持(10)反对(11) 回复
  • 18.alaren
  • 到哪里去找百度的api下载呢?是不是现在google已经不提供soapApi下载了呢?我到网上都找不到。我做课程设计想用到其它搜索引擎的搜索结果。如果你能回答我的问题,那么发邮件给我好吗?万分感谢!
  • 2007/4/3 23:25:58   支持(9)反对(11) 回复
  • 19.百度的Webservice接口
  • 请问百度的Webservice接口是什么?有没有在JAVA中可以调用的Webservice查询接口?
  • 2007/4/19 11:43:33   支持(8)反对(10) 回复
  • 20.酷B
  • 你好. 今天突发其想搞学习搜索引擎. 但是找了半天没找到Baidu的API 如你知道.请告知.万分感谢 [email protected]
  • 2008/3/28 22:51:28   支持(10)反对(12) 回复
  • 21.孤夜寒
  • [WAP]SF… 虽然不太懂 但多看看也好的 好想请教月光哥哥
  • 2006/12/7 0:23:56   支持(11)反对(14) 回复
  • 22.kankan
  • 月光哥哥?
    鸡皮疙瘩
    受不了
    呵呵
  • 2006/12/7 9:41:06   支持(9)反对(12) 回复
  • 23.binbin
  • 到哪里去找百度的api下载呢?是不是现在google已经不提供soapApi下载了呢?我到网上都找不到。我做课程设计想用到其它搜索引擎的搜索结果。如果你能回答我的问题,那么发邮件给我好吗?万分感谢!
  • 2007/5/6 17:03:43   支持(7)反对(10) 回复
  • 24.LD
  • 没有Api反而值得赞扬?照你这么说,WS技术本身就没有存在的意义了
  • 2009/12/22 8:39:54   支持(7)反对(10) 回复
  • 25.于洋
  • 很多SEO工具还是在未经授权的情况下使用google的服务来获得信息的。
  • 2010/9/26 10:32:10   支持(8)反对(11) 回复
  • 26.linzi
  • 能发一份百度和谷歌的api给我吗?谢谢了,我想那个他们的搜索结果,在网上搜额半天都没有找到他们各自的API.
    邮箱:
    [email protected]
  • 2011/3/1 23:41:33   支持(6)反对(9) 回复
  • 27.1111
  • 非常想学习一下。邮箱 [email protected] 万分感 1113333
  • 2011/9/30 16:50:53   支持(6)反对(9) 回复
  • 28.wang
  • 你好,想和你询问一个关于google API的问题,google最近提供的API里面怎么没有图片搜索了呢?或者说没有更新,反而在减少,据你预测在未来还会提供吗?
  • 2012/1/17 18:12:55   支持(6)反对(9) 回复
  • 29.LonelyStar
  • 可以写程序直接调用谷歌索索啊
    像cungle.org就是直接获取谷歌的搜索结果
    没有使用任何API的
  • 2012/5/17 20:09:38   支持(7)反对(10) 回复
  • 30.zhubo
  • 你的文章都分析的都很详细,很喜欢。我现在迫切的需要百度和yahoo!等搜索引擎的api,希望能给一份,[email protected]
  • 2011/10/8 23:23:47   支持(7)反对(11) 回复
  • 31.nightwind
  • 能否具体介绍一下调用方法啊
  • 2007/4/15 9:41:01   支持(10)反对(15) 回复
  • 32.曾曾
  • 我想要一份百度搜索引擎的API和调用百度搜索引擎的源码看看,能给我一份么?万分感激!不知道调用百度搜索引擎的API是否需要授权
    我的油箱:[email protected]
  • 2008/3/28 17:35:26   支持(7)反对(13) 回复
  • 33.老虎
  • 我想要一份调用百度搜索引擎的源码看看,能给我一份么?万分感激!
    我的油箱:[email protected]
  • 2009/3/18 16:42:31   支持(7)反对(14) 回复
  • 34.mihn
  • 我找了很久的所谓baidu api 调用的资料,只有你这边有详细说到调用的,能不能给份baidu 和google API啊,万分谢谢。
    邮箱:[email protected]
  • 2009/12/3 18:47:22   支持(7)反对(14) 回复
  • 35.whsjball
  • TO williamlong:

    今天进邮箱就发现昨天晚上你已经对我的问题进行了回复,发现你还是个非常热心的人,非常感谢你的帮助!
  • 2006/12/7 11:44:58   支持(8)反对(19) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.