amazoncrossbookcheck.user.js
ようやく、Firefox3 に乗り換えができて、大はしゃぎの自分です(おかげで休日が半分つぶれたけど)。
今日は、オススメのグリモン(Greasemonkey スクリプト)『amazoncrossbookcheck.user.js』紹介します。
Amazonから他サイトの中古価格や図書館の蔵書をチェックするGreasemonkeyスクリプト – drillhanz
どんなグリモン?
Amazonのページ上に、他のオンライン書店の中古価格を表示します。がんばれば図書館の蔵書も調べられます。
Amazonから他サイトの中古価格や図書館の蔵書をチェックするGreasemonkeyスクリプト – drillhanz
最近の流行である「SITEINFO」も導入されていて、好きな書店や図書館の情報を、自分で追加できるのが便利。いまのところ、このスクリプト用の Wiki などは ありませんが、これから情報が増えると面白いですね。
そして、「SITEINFO と言えば XPath」と相場が決まっている昨今、あえて正規表現でマッチさせるのが良いです。──正直、XPath だと class を 1 つマッチさせるだけでも、かなり苦労しますからね……。
楽天ブックスと三重県図書館
さっそく、自分も SITEINFO を追加してみました。
{
label: 'Rakuten Books',
url: 'http://esearch.rakuten.co.jp/rms/sd/esearch/vc?sv=30&f=A&g=0&v=2&p=0&e=1&s=1&oid=000&k=0&sf=0&x=0&sitem=',
regxp: /\u672C\u4F53\u4FA1\u683C\uFF1A([\d,]+)/,
},
{
label: 'Mie library',
url: 'https://idx.milai.pref.mie.jp/MEPUTL/servlet/search.result?code_genre1=2&code_value1=',
regxp: /search.detail_list\?tilcod=/,
},
見ての通り、楽天ブックスと、三重県図書館情報ネットワークから在庫を検索できます。
あとは、どこを追加したら便利かな……。
やっぱり、正規表現でマッチさせるのは、かなり簡単で分かりやすいです。ちょっと思ったのが、ほかのグリモンでも そうですが、Xpath と正規表現の両方を使える、というのが便利なのでは?
Unicode エスケープ
Greasemonkey スクリプトの中では、日本語は使えません(使えるけど問題が多い、だっけ?)。上記の、自分で書いた SITEINFO でも、日本語は「Unicode エスケープ」を使っています。
──と言っても簡単なことで、下記ページを利用しました。日本語を入力したあと、「\uXXXX」の中身をコピペするだけです。
Text Escaping and Unescaping in JavaScript
改善案
ところで、Amazon.co.jp の URL は、「www」を付けなくてもアクセスできるんですよ。なので、Amazon 用のグリモンは、下記のように www なしの URL も @include
に登録したほうが良いですね。
@include http://www.amazon.co.jp/*
@include http://amazon.co.jp/*
──そうじゃないと、「何でインストールしたはずのグリモンが動かないんだー!」と なるので……(オレが)。
あと、「Amazonから他サイトの中古価格や図書館の蔵書をチェックするGreasemonkeyスクリプト」とか『amazoncrossbookcheck.user.js』ではなくて、『LDRize』みたいに呼びやすい名前だと良いかな、と思いました。
図書ken
ところで、Amazon と図書館を結ぶグリモンは、ほかにもあります。たとえば、『図書ken』ですね。
図書ken – Library Book Search GMScript Generator
紹介記事は、下記を どうぞ。
3分LifeHacking:おとなの図書館活用術【個別Greasemonkey生成編】 – ITmedia Biz.ID
しかし──、非常に残念なことに、amazoncrossbookcheck.user.js とは連携できないし、対応する図書館が少ないですね……。やはり、この手のスクリプトは Wiki などで情報を集めたほうが便利そうですね。
まとめ
自分は以前から、
「Amazon で買う本の中身を見るために、地元の書店に足を運ぶ」
というライフハックを実践しています(ライフハックか?)。
「書店 涙目 www」だったわけですが、今回のスクリプトを使うと、「Amazon 涙目 wwwww」に なりそうな予感……。