Bing是否有类似于谷歌自定义搜索或雅虎的选项,我可以使用Bing来支持我网站上的搜索结果?
夫妻要求:
我搜索了Bing自定义搜索,发现了这个:http://www.bing.com/siteowner/但这并不是我想要的。
答案 0 :(得分:3)
Bing使用的查询字符串是:
http://www.bing.com/search?q=&src=IE-SearchBox&FORM=IE8SRC
(这是IE中Bing搜索提供程序的模板URL)。您只需在q
参数后插入搜索字词即可。测试这个的一个好方法是实际执行搜索并在浏览器的地址框中查看URL:
http://www.bing.com/search?q=how+to+query+bing&src=IE-SearchBox&FORM=IE8SRC
您可以删除src
和FORM
参数,Bing会将这些参数用于统计目的。
要让结果显示在您自己的页面中,请使用iframe,为其指定ID,并将其src网址(使用javascript)设置为您构建的搜索网址。
var frame = document.getElementById('mySearchFrame');
if (frame != null)
frame.src = 'http://www.bing.com/search?q=' + mySearchTerms;
请注意,如果您想要对页面进行样式设置,则必须从后面的代码中查询Bing并“刮擦”结果并将其放入您自己的页面中。 (或者您可以发回页面,但在此之前修改其内容,但这样做会违反Bing的使用条款 - MS供应Bing供您免费使用,但这是他们的条款,这意味着您将无法删除任何广告或更改页面的外观 - 这个世界上没有免费游乐设施:)。
答案 1 :(得分:1)
您可以注册网站搜索并通过jsonp查询Bing并通过javascript显示结果(确切代码未经测试)
function searchDone(results) {
if(results.SearchResponse.Web.Results && results.SearchResponse.Web.Results.length > 0) {
for (var i = 0; i < results.SearchResponse.Web.Results.length; i++) {
result = results.SearchResponse.Web.Results[i];
item = document.createElement('li');
item.innerHTML = '<a href="' + result.Url + '">' + AntiXssLibrary.HtmlEncode(result.Title.replace(/\uE000/g, "").replace(/\uE001/g, "")) + '</a>' + '<blockquote>' + AntiXssLibrary.HtmlEncode(result.Description.replace(/\uE000/g, "").replace(/\uE001/g, "")) + '</blockquote>';
// append child to document somewhere
}
}
}
var serviceURI = "http://api.search.live.net/json.aspx?JsonType=callback&JsonCallback=searchDone&sources=web&Options=EnableHighlighting";
var appid = "&Appid=YOUR_BING_APP_ID";
var query = "&query=site:http://YOURDOMAIN.com/ <%=Request.Querystring["query"] %>";
var fullUri = serviceURI + appid + query;
var head = document.getElementsByTagName('head');
var script = document.createElement('script');
script.type = "text/javascript";
script.src = fullUri;
head[0].appendChild(script);