Amazon に他サイトの在庫情報を表示する Greasemonkey

シェアする

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 図書ken – Library Book Search GMScript Generator

紹介記事は、下記を どうぞ。

3分LifeHacking:おとなの図書館活用術【個別Greasemonkey生成編】 – ITmedia Biz.ID

しかし──、非常に残念なことに、amazoncrossbookcheck.user.js とは連携できないし、対応する図書館が少ないですね……。やはり、この手のスクリプトは Wiki などで情報を集めたほうが便利そうですね。

まとめ

自分は以前から、

「Amazon で買う本の中身を見るために、地元の書店に足を運ぶ」

というライフハックを実践しています(ライフハックか?)。

「書店 涙目 www」だったわけですが、今回のスクリプトを使うと、「Amazon 涙目 wwwww」に なりそうな予感……。