GreaseMonkeyでGoogleとMSNの検索結果に順位を表示してみる

| | コメント(4)

台風が来るということで今日は早めに撤収してきました。
強風でビニ傘がひっくり返って、コンパクトにしようとしたら指切って血が出たよ鬱だ。
でもってすみません傘放置しました。
最悪やって自分でも思うけどこれだけは勘弁してください。
壊れたビニ傘を自宅まで持参するって相当の精神力が必要だぞ。
僕には無理でした。

今日は仕事がひm、じゃなくて時間的に「ゆとり」があったのでGreaseMonkeyを使ってみました。
GreaseMonkeyはFirefoxのプラグインで、
ブラウズしているWebページをクライアントサイドでいじくるスクリプトを動かす環境です。
スクリプトはJavaScriptで書きます。

ちょうど仕事に役立つ題材があったのでそれを紹介します。
私は毎週月曜日の朝に、検索順位のチェック作業をしています。
検索順位のチェックツールにはいろいろありますが、
合ってなかったりすることが多々あるので信用ならんということで、
いつも目視でやっております。
それをYahoo、Google、MSNの3サイトで確認します。

ググ厨はしらないかもしれませんが、Yahooには検索順位が表示されます。
でもGoogleとMSNは表示されません。
なので順位を知りたければ上から数えるしかないんですよ。
うん下から数えてもいいよ。
これがね、めちゃくちゃ不便なのです。
Macのマウスにボタンが1個しかないことの次くらいに納得いかない。
たぶん世界のGoogle様のことだから何か意味があるんでしょうけどうざいです。

これを解決するスクリプトをGreaseMonkeyでちゃちゃっと作ってみました。
Googleだけのなら他の人が作ったのがあるんだけど、
ソースが微妙にわかりにくかったので自己流にアレンジしました。


 // ==UserScript==
 // @name           display_rank
 // @namespace      http://eclipse.cspc.jp
 // @description    GoogleとMSNの検索結果に順位を表示
 // @include        http://search.msn.co.jp/*
 // @include        http://www.google.co.jp/*
 // ==/UserScript==
 
 (function() {
   var url = window.location.href;
   var m, first, es;
   
   // MSNの場合
   if (url.match(/^http:\/\/search\.msn\.co\.jp/)) {
     
     // URLからページ内の1件目の順位を取得
     m = url.match(/first=([0-9]+)/);
     first = (m == null)? 1 : parseInt(m[1]);
     
     es = document.getElementById('results').getElementsByTagName('h3');
   }
   
   // Googleの場合
   else if (url.match(/^http:\/\/www\.google\.co\.jp/)) {
   
     // URLからページ内の1件目の順位を取得
     m = url.match(/start=([0-9]+)/);
     first = (m == null)? 1 : parseInt(m[1]) + 1;
     
     t_es = document.getElementById('res').getElementsByTagName('div');
 
     es = new Array();
     for (i = 0; i < t_es.length; i++)
       if (t_es[i].className == 'g')
         es.push(t_es[i]);
   }
   
   // 順位を追加
   for (i = 0; i < es.length; i++)
     es[i].innerHTML = '<span style="color:red;font-weight:bold">'
       + (first + i) + '. </span>' + es[i].innerHTML;
 })();

こいつをdisplay_rank.user.jsとして保存して、
アドレスバーにファイルパスを打ち込めばインストールできます。
もちろんGreaseMonkeyは最初にインストールしておいてからね。
ここにあるから。
これでGoogleとMSNで検索したときにもYahooみたく順位が表示されるようになります。

コードはJavaScript/DOMの単純な例っていう感じじゃないかな。
以外に簡単に便利にできるんだなぁ、とちょっと感動しました。
また何かいい題材があったらGreaseMonkey使ってみよう。

コメント(4)

Acht :

便利だよね、GreaseMonkey。
俺もひとさまには言えない使い方してるwww
主には広告はずしとかですけどねー

eclipse :

なるほど、そういう使い方もあるのかw
便利ですね。

wiz@_( (_´Д`)_ :

>ググ厨はしらないかもしれませんが、Yahooには検索順位が表示されます。
(゚∀゚)つ〃∩

無条件で広告消すのはイクナイよ。

ちなみに私はtrident猿人+proxomitron派。

eclipse :

proxomitronは正規表現だけなのかな。
だとするとできることは大分限られてしまうな。

このブログ記事について

このページは、yuchが2007年9月 6日 20:37に書いたブログ記事です。

ひとつ前のブログ記事は「検索という罠」です。

次のブログ記事は「書くことないよ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01