2009年02月27日 22:45 [Edit]
Ajax - Yahoo検索ヒット数+シンプソン係数
Bの方を空にすると、シンプソン係数の計算は省略します。
| A | ||
|---|---|---|
| B | ||
| A&B | ||
| シンプソン係数 = |
一つ面白いことがわかりました。「小飼」と「弾」の係数の高さもさることながら、「弾」と「小飼」を入れ替えてみてください。何がおこるでしょう。以下、ヒント。
A∩Bと、B∩Aは、検索においては一致するとは限らないんですよね....
Enjoy!
Dan the Ajaxen
Server Source
Client DHTML
Client JavaScript
$ = function(id){ return document.getElementById(id) };
askYahoo = function(a, b, ab){
var uri = 'http://api.dan.co.jp/yjhits.cgi';
a.parentNode.nextSibling.id = '.' + a.value;
uri += '?s=' + encodeURIComponent(a.value);
if (b.value.length){
b.parentNode.nextSibling.id = '.' + b.value;
uri += '&s=' + encodeURIComponent(b.value)
+ '&s=' + encodeURIComponent(a.value)
+ '+' + encodeURIComponent(b.value);
ab.nextSibling.id = '.' + a.value + ' ' + b.value;
}else{
b.parentNode.nextSibling.id = b.parentNode.nextSibling.innerHTML = '';
ab.nextSibling.id = ab.nextSibling.innerHTML = '';
$('SimpsonsC').innerHTML = '';
}
var script = document.createElement('script');
script.charset = 'UTF-8';
script.src = uri;
document.lastChild.appendChild(script);
};
yjhits = function(json){
var va = 0, vb = 0, vab = 0;
for (var p in json){
var e = $('.' + p);
if (!e) continue;
e.innerHTML = json[p];
if (p.match(/([^ ]+) ([^ ]+)/)){
va = parseInt(json[RegExp.$1]);
vb = parseInt(json[RegExp.$2]);
vab = parseInt(json[p]);
}
}
if (!vab) return;
$('SimpsonsC').innerHTML = (vab / (va < vb ? va : vb));
};
Posted by dankogai at 22:45│Comments(0)│TrackBack(0)