利用Yahoo! Search API开发自已的搜索引擎-javascript版

盼望444

盼望444

2016-02-19 13:43

下面图老师小编跟大家分享一个简单易学的利用Yahoo! Search API开发自已的搜索引擎-javascript版教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

    美国东部时间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/";
}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

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.getElementsB

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)yTagName('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 };
    }

    return retVal;
  } catch(exception) {
    alert('Exception occurred while reading XML (i=' + i + '; start=' + start + ';end=' + end + '): ' + exception);
  }
}


有兴趣的朋友还可以看一下由[动态网站制作指南]所制作的ASP版本:http://www.knowsky.com/yahoo/

展开更多 50%)
分享

猜你喜欢

利用Yahoo! Search API开发自已的搜索引擎-javascript版

Web开发
利用Yahoo! Search API开发自已的搜索引擎-javascript版

利用Yahoo! Search API开发自已的搜索引擎-php版

PHP
利用Yahoo! Search API开发自已的搜索引擎-php版

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用Yahoo! Search API开发自已的搜索引擎-javascript版

电脑网络
利用Yahoo! Search API开发自已的搜索引擎-javascript版

搜索引擎页面分析中的 javascript 处理

Web开发
搜索引擎页面分析中的 javascript 处理

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

微软真人搜索引擎

平面设计 标志设计 UI设计 VI设计
微软真人搜索引擎

利用AJAX技术提高搜索引擎排名

电脑网络
利用AJAX技术提高搜索引擎排名

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JAVA开发中的中文处理问题

JAVA开发中的中文处理问题

Jquery cookie操作代码

Jquery cookie操作代码
下拉加载更多内容 ↓