利用Yahoo! Search API开发自已的搜索引擎-JavaScript版
来源:互联网 发布:淘宝网电脑下载安装 编辑:程序博客网 时间:2024/06/08 17:09
美国东部时间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实现搜索的效果,全部脚本如下:
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_r("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_r("Result");
for (var i = 0; i < results.length; i++) {
var result = results[i];
var title = result.getElementsByTagName_r('Title')[0].firstChild.nodeValue;
var summary = '';
if (result.getElementsByTagName_r('Summary')[0].firstChild) {
summary = result.getElementsByTagName_r('Summary')[0].firstChild.nodeValue;
}
var clickUrl = result.getElementsByTagName_r('ClickUrl')[0].firstChild.nodeValue;
var url = result.getElementsByTagName_r('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/
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=376038
0 0
- 利用Yahoo! Search API开发自已的搜索引擎-javascript版
- 利用Yahoo! Search API开发自已的搜索引擎-JavaScript版
- 利用Yahoo! Search API开发自已的搜索引擎-php版
- 利用Yahoo! Search API开发自已的搜索引擎-php版
- 通过Yahoo+Search+API访问Web服务实现自己的搜索引擎
- 也用Yahoo 网页搜索API -- 做自己的搜索引擎
- 开发自已的javascript,收藏夹工具栏
- 利用yahoo天气预报API创建自己的WCF服务
- 让搜索引擎搜索到自已的网站
- 【android】利用Yahoo API完成天气预报
- 提高yahoo排名的搜索引擎优化技术
- 利用YaHoo YUI实现Javascript CSS 压缩
- 利用AJAX的TabContainer與TabPanel結合Javascript來製作類似Yahoo的首頁新聞頁籤的效果
- 利用javascript判断搜索引擎来路
- 挑战Google!传Facebook与Yahoo要联手开发搜索引擎
- 使用jQuery、Yahoo API和HTML5的geolocation来开发一个天气预报web应用
- 使用jQuery、Yahoo API和HTML5的geolocation来开发一个天气预报web应用
- Android中Yahoo天气预报API的使用
- XML+XSL在表格中显示数据的主要程序
- 异步检测用户名是否存在的一个案例
- 用dtable显示并清除以前的结果
- 你不知道的 HTTP
- 分页显示的一个案例
- 利用Yahoo! Search API开发自已的搜索引擎-JavaScript版
- AJAX笔记心得
- 动态加载列表框实现级联菜单的效果
- 自动刷新页面技术
- 动态显示进度条
- 动态更新Web页面
- 创建工具窗口提示
- 自动完成技术,像百度一样通过AJAX技术来搜索备选项
- 通过Yahoo+Search+API访问Web服务实现自己的搜索引擎