| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • javascript模拟游戏中的…

  • javascript制作闪烁的边…

  • javascript制作浮动的工…

  • javascript设计漫天雪花

  • javascript设计网页中的…

  • 用javascript实现利用FL…

  • javascript实例教程(20)…

  • javascript实例教程(20)…

  • javascript实例教程(20)…

  • javascript实例教程(20)…

  • Q
    您现在的位置: 我是IT人 >> 网站制作 >> JSP >> 文章正文
    利用Yahoo! Search API开发自已的搜索引擎-javascript版           
    利用Yahoo! Search API开发自已的搜索引擎-javascript版
    作者:网络 文章来源:转载 点击数: 更新时间:2006-1-19
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
     

        美国东部时间3月1日,雅虎公司联合创始人之一的杨致远将宣布公司的搜索网络将进入Web服务。雅虎公司在www.developer.yahoo.com网站建立了Yahoo Search Developer Network,公司计划在此纽约举行的搜索引擎战略大会(Search Engine Strategies Conference)上推出这一计划。该网络将允许开发者在雅虎搜索之上建立新的应用程序,其中包括图像、视频、新闻以及地区搜索等内容。想要使用这项服务的会员必须先去http://api.search.yahoo.com/webservices/register_application  申请一个自已的ID号,注:每个ID号每天只能搜索5000次。

        下面我们看一下,如何用javascript脚本调用Yahoo! Search API实现搜索的效果,全部脚本如下:
      

    /*
     * yahoo_search_api.js
     * Part of the Yahoo! Search Sidebar for Firefox
     * powered by Yahoo! Search web services (http://api.search.yahoo.com)
     * Written by Marc Abramowitz (http://marc.abramowitz.info)
     * Copyright (C) 2005 Yahoo! Inc.
     * www.knowsky.com
     */

    function Yahoo_Search() {}

    Yahoo_Search.baseURL = function () {
      return "http://api.search.yahoo.com/WebSearchService/V1/";
    }

    Yahoo_Search.appid = function () {
      return "YahooSearchSidebar";
    }

    Yahoo_Search.baseArgs = function () {
      return "appid=" + this.appid();
    }

    Yahoo_Search.Results = function (args) {
      var xmlUrl = this.baseURL() + "webSearch?"
           + this.baseArgs()
           + "&query=" + args["Doc"]
           + "&zip="
           + "&start=" + args["First"]
           + "&results=" + args["Count"];
      var xmlhttp = new XMLHttpRequest();
      xmlhttp.open("GET", xmlUrl, false);
      xmlhttp.send(null);
      return this.readXML(xmlhttp.responseXML);
    }

    Yahoo_Search.readXML = function (xmlDoc) {
      try {
        var retVal = new Array();
        var resultSet = xmlDoc.getElementsByTagName("ResultSet")[0];
        var totalResultsAvailable = parseInt(resultSet.getAttribute("totalResultsAvailable")); 
        var totalResultsReturned = parseInt(resultSet.getAttribute("totalResultsReturned"));
        var firstResultPosition = parseInt(resultSet.getAttribute("firstResultPosition"));
        var start = firstResultPosition;
        var end = firstResultPosition + totalResultsReturned - 1; 
        var results = xmlDoc.getElementsByTagName("Result");
        for (var i = 0; i < results.length; i++) {
          var result = results[i];         
          var title = result.getElementsByTagName('Title')[0].firstChild.nodeValue;
          var summary = '';
          if (result.getElementsByTagName('Summary')[0].firstChild) {
            summary = result.getElementsByTagName('Summary')[0].firstChild.nodeValue;
          }
          var clickUrl = result.getElementsByTagName('ClickUrl')[0].firstChild.nodeValue;
          var url = result.getElementsByTagName('Url')[0].firstChild.nodeValue;
          retVal[i] = { I: start + i, Title: title, Summary: summary, ClickUrl: clickUrl, Url: url };
        }

    [1] [2] 下一页  

    文章录入:54iter    责任编辑:54iter 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |