ホーム > タグ > Greasemonkey

Greasemonkey

Wikipedia にレファレンス協同データベースでの検索結果を表示する Greasemonkey スクリプト

NDLが提供するレファレンス事例共有サービス「レファレンス協同データベース」がAPIを提供していたので使ってみました。せっかくなので「API腕自慢」にも応募してみます。

タイトルの通り、Wikipedia の記事にレファレンス協同データベースでの検索結果を表示する Greasemonkey スクリプトです。

このスクリプトをインストールして、たとえば「ヴァイオリン」の記事を見てみると、下のほうがこんなことになります。

CiNii のときみたいに Google の検索結果に表示しようかとも思ったんだけど、ちょっと検索に時間かかるし、Wikipedia のほうが親和性が高そうだったので Wikipedia で。ちょこちょこおもしろそうな事例がひっかかって良い感じ。記事執筆にも役立つかもしれません。

Firefox 3.6.10 + Greasemonkey 0.8.20100408.6 で動作確認。

それにしても jQuery なしの DOM 操作はめんどくさいな・・・。

追記 (2010/09/27)

何箇所か(というかコピペしたとこ以外全部・・・)「レファレンス共同データベース」と書いてましたが、正しくは「レファレンス協同データベース」でしたので修正しました。失礼しました。

PDFへのリンクにアイコンを表示するGreasemonkeyスクリプト

PDFへのリンク、嫌ですよね。非力なマシンで対策(PDF Downloadとか)もなくクリックしてしまった日にゃ、「PDFトラップ」なんて言葉も思い浮かぶってものです。

でも、なぜか、官公庁はPDF大好きだし、それもHTMLへのリンクと同じように並んでたりするからタチが悪い。

そこで、ひと目でPDFへのリンクがわかるようになるGreasemonkeyスクリプトを作成しました。

これを導入して、たとえば、厚生労働省のWebサイトを見てみましょう。

まずはbefore。

つづいてafter。

「緊急情報」に隠されたPDFトラップが白日の下に! アイコンちっちゃく見えるかもしれないけど、実際使ってみると十分なサイズですよ。

処理としては、a要素のhref属性が「.pdf」で終わってたら、アイコンを追加するという簡単なもの。URLが.pdfで終わってない場合は無力です。

ただし、適用範囲がhttp通信のWebページ全部と広すぎるので、場合によって適用範囲を制限してください。

Naxos Music Library にIMSLPの楽譜を検索するアイコンを追加するGreasemonkeyスクリプト

日々愛用の(主に)クラシック音楽配信サービス Naxos Music Library

音楽を聴きながら楽譜が見れればいいなと思って、パブリックドメインの楽譜を収集・公開しているIMSLPを検索するGreasemonkeyスクリプトを作成した。

こんな感じで表示され、虫眼鏡アイコンをクリックすれば、(運がよければ)IMSLPの作品ページに飛ぶ。

nml2imslp1

中身はかなりおおざっぱで、Naxos Music Library に載っているラテン文字のタイトルを、Googleでsite:imslp.org内を検索するリンクを作成(調名が入ってるとヒットしづらい場合があったので、調名は削除している)。その際に I’m feeling luckey が働くようにリンクを作り、Googleのページを経ずにIMSLPにリダイレクトするようにする。

もちろん、Googleの検索が100%ではないし、I’m feeling luckey の精度も信頼できるものではないが、それでもIMSLPに楽譜があれば、8割くらいヒットすると思う(そしてIMSLPの充実ぶりに驚く。もちろん近現代は少ないけど)。

I’m feeling luckey のリダイレクトが邪魔、という人は、39行目をコメントアウト(行頭に//を書く)、または行ごと削除してしまえば、Googleの検索結果ページへ飛ぶ。

今回、楽しようと思って、jQueryを使った。GreasemonkeyでjQueryが使えると20倍は速くスクリプト書けるね(単に私がJavaScriptのDOM操作に慣れてないからか)。参考というか丸写しにしたのが下記ページ

まあしかし、いつものことながらニッチだなあ・・・。

CiNii Web API コンテストに先走る

NIIがCiNiiのAPIを使ったWebアプリケーションコンテストを開催するらしい。

APIを提供するだけでなく、こうして利用を促すのはとても良いですね。

で、CiNiiのAPIが使えて何が作れるだろうと考えて、とりあえず、Googleの検索結果ページに、同じキーワードでCiNiiを検索した結果を表示してみようと考えた。

そして、できたのがこのGreasemonkeyスクリプト。

こんな感じで表示される。

cinii - Google 検索

検索語にクリーンヒットする論文は多くないけど、普段目にしない論文がひっかかってきたりして結構おもしろい。常用するかは微妙なとこだけど。

で、お気づきの方も多いと思うが、これは、Greasemonkeyスクリプトであって、Webアプリケーションではない。よって、今回のコンテストには応募できず。作り終えてから気づいたよ。馬鹿ですいません。

まあ、ほら、API使ったらこんなことできるよー、ってサンプルだと思ってください。これくらいのものなら1、2時間でできるし、レスポンスも早くてびっくりですよ。

追記: 応募しました (2009/07/07)

当エントリーのはてブコメ(移転前のURL。つらい。)で、別にGreasemonkeyスクリプトでも応募していいんじゃないかという、ありがたいお言葉をいただいたので、応募してみました(もうコメントもらってから2週間以上経ってますが。どんだけカメなんだ、私)。まあ、NIIの方に判断してもらったらいい話ですよね。

開発者登録は所属やら電話番号とかあるので、一応匿名の身としては怖じ気付いたけど、名前(ハンドル)とメールアドレスだけでも問題なく登録できたので、匿名のプログラマも安心ですよ! (ってことを開発者登録のページにも書いといたほうがいいと思う)

図書館関係Greasemonkeyスクリプト各種

今までに作った図書館関係のGreasemonkeyスクリプト各種をUserscripts.orgにアップしました。

今回アップしたのは以下の7つ。

匿名性があやういラインナップですね。

ほんとは、他の図書館で使えるように解説入れたほうがいいんだろうけど、もうめんどくさいのでとりあえずアップします。所蔵の有無を調べるものは、NCIDかISBNでOPACを検索して、ヒットしなかった際に表示される文字列が含まれるかどうかで、判定しています。JavaScriptわかる人なら改造は容易なはず。

なお、2つめと4つめは対象図書館のOPACにかなりたくさんリクエストを送るので、あんまりヘビーユーズすると迷惑かと思います。ちょっと重いかな、と思ったら無効にしておきましょう。あんまり負荷が大きいようだと、UserAgentとRefererでアクセス拒否されるようになるかもしれません。

OPAC側も、複数のISBN/NCIDで一括して所蔵の有無とURLを返してくれるAPIを作ってくれると嬉しいんだけどなあ。

追記(2009/04/14)

いくつかのスクリプトでPlatypusが必要となっていたのを修正し、Platypusなしで動作するようにしました。ついでにいろいろコードを整理しました。

追記(2010/09/17)

Webcat Plus の仕様変更に伴い、上2つは動作しなくなっています。特に2つめは書誌へのリンクからNCIDが無くなったため、Webcat Plus 側が変わらなければ修正しようがありません(URLに含まれる無意味なIDとNCIDのマッピングをすれば可能だが、だいぶ大変)。

辞書を片手に。

昔は、自分の語彙が少なかったので(たしか高校生くらいまで「語い」って何だと思ってた)、国語辞典を傍らにおいて本を読んだりしていた。

今は当時よりは語彙が多くなったとはいえ、軽い文章を読むことが多いので、辞書を引く習慣はすっかりなくなり、電子辞書ですら引くのが面倒になってしまった。

そんな私にぴったしなGreasemonkeyスクリプト。

Altキー(別のキーにも設定可)を押しながらマウスで文字列を選択すると、複数の辞書サイト/検索サイトを横断検索して、結果を表示してくれるスクリプト。

この説明だけだと良さがわかりにくいけど、実際使ってみると、ストレスなく引ける(検索するというより辞書を引く感覚に近い)のがすばらしい。ページ遷移無いし、数秒で、しかも平行して引いてくれるし、見終わったら元々のページワンクリックで消えるのも良い。日本語と英語を判別して、それぞれ検索するサイトを設定できるので、日本語・英語両サイトで非常に便利に使える。まだ試していないが、文章の翻訳サービスも利用できるらしい。

これだけストレスなく使えると、次々と意味があいまいな語を調べて読めるので、文章の理解も深まるし、語の勉強にもなる。コンテンツは他頼みだし、ものすごい技術を使ってるわけではないけど、いいインタフェイスを作ることで、ユーザの行動まで変えてしまうというのは、なかなか興味深い。

これのためだけにFirefoxインストールしても損はないよ、と言えるくらいオススメです。


以下、導入についてのメモ。

Greasemonkeyスクリプトなんで、当然Firefox+Greasemonkey必須。

スクリプトの導入もちょっとややこしいので、上記ページのビデオをよく見ながらやって下さい。

「初期化してください」ってところで、右下でなんかやってるのは、Greasemonkeyのおサルのアイコンを右クリック→ユーザスクリプトコマンド→Fast look up JP and EN – reset settingをクリックするみたい。

私の環境ではAlt+Yでメニューを出したら黒っぽいボックスしか表示されなかったので、ブラウザ再起動してAlt+Yでちゃんと表示されました。

Webcat PlusからMILAI蔵書検索。

Grease Monkey用スクリプト第3弾。

Webcat Plusの詳細表示から、MILAI(三重県図書館ネットワーク)の蔵書検索へ飛びます。ISBNの表示があるもののみ。

せっかくなんで、普通の所蔵情報表示のアイコンとかを流用さしてもらいました(笑)。

Webcat Plusは本探すのに便利だけど、所蔵情報があるのは(ほとんど)大学図書館だけで不便だったので作ってみました。

ヒットしなければ非表示にできたりするといいのですが、技術力と気力が足りません・・・。

なお、今回楽するためにPlatypusを使ったので、Firefox+Greasemonkey+Platypusが必要です。

aタグのリンク先を書き換えれば他の蔵書検索などにも応用できるはずなので、どうぞご自由に。

Amazonから三重大学附属図書館蔵書検索

タイトルの通り。
AmazonからMILAI蔵書検索参照。
Googleツールバーでカスタム検索ボタンを作って、[管理]-[編集]-[詳細をエディタを使用]でURLを表示、編集して前回作ったスクリプトを書き換え、で作業完了。楽だわ。
mulib.user.js
Firefox + Greasemonkey必須。
でも、実際のOPAC画面はフレームなのでちょっと使いにくいかも。「戻る」ボタンがきかなくなる(2つ戻らないといけない)し。

ホーム > タグ > Greasemonkey

検索
フィード
メタ情報

ページの上部に戻る