2008-11-12
Amazon Cross Book Check - アマゾンから最安中古価格を一発検索(図書館もあるヨ)
これはなに?
アマゾンのページ上で、他の書店サイトの中古価格を表示するGreasemonkeyスクリプトです。カスタマイズして図書館の蔵書を調べたりもできます。
スクリーンショット
対応しているアマゾンのページ
商品ページ、ほしい物リスト、検索結果、ベストセラー、おすすめ商品、リストマニア、最近チェックした商品
デフォルトで対応している書店サイト
BOOKOFF Online、livedoor BOOKS、古本市場、eBOOKOFF
インストール
以下のリンクをクリックしてインストールして下さい。
amazon_cross_book_check.user.js
使い方
商品ページ
ページを開くと自動で検索して表示します。
それ以外
リストの一番上のアイテムに表示される「他のサイトを探す」をクリックすると、検索を開始します。
カスタマイズ
以下の設定はお好みで編集することができます。ソースファイルを直接書き換えて下さい。
DEFAULT_AUTO_START
リスト形式のページを開いたとき、自動で検索開始させたい場合はtrueに書き換えて下さい。ページのタイプごとに設定を変えたい場合は、ここをtrueにしたうえで、個別のPAGEINFO(後述)を変えて下さい。
INTERVAL
リスト形式のページでは、ここで指定されたインターバルを空けて検索するようになっています。これはBOOKOFF Onlineなど、一度に大量の検索を行うと利用できなくなるサイト向けの機能です。デフォルト0.5秒。
SITEINFO
検索対象サイトの情報を記述するフォーマットです。このSITEINFOをソースコードに追加することで、検索対象を増やすことができます。
また以下でSITEINFOの共有を進めているので、ぜひご利用・ご参加下さい。
http://wedata.net/databases/AmazonCrossBookCheck/items
SITEINFOの書式は以下の通りです。
{ label: 'BOOKOFF Online', url: 'http://www.bookoffonline.co.jp/display/L001,st=u,q=', isbn13: true, regexp: /\u4E2D\u53E4\u8CA9\u58F2\u4FA1\u683C<\/th><td class="tab01">\uFFE5([\d,]+)/, disabled: false }
- label (必須)
- 書店サイトの名前です。
- url (必須)
- 検索リクエストのうち、ISBNより前の部分。ISBN以外をキーとした検索には対応していません。
- regexp (必須)
- 検索結果ページから、価格を抜き出すための正規表現。リテラルでそのまま表記します。カッコでグループ化した部分が価格として表示されます。グループがない場合は「Found」という文字が挿入されます。図書館の場合は「蔵書有り」を示す部分にマッチするように書いて下さい。
- afterISBN
- 検索リクエストのうち、ISBNより後ろの部分。
- isbn13
- 10ケタISBNではなく、13ケタで検索する場合はtrueに設定して下さい。
- bothISBN
- ここをtrueに設定すると、ISBN10とISBN13の両方で検索を行います。図書館などで、ISBNの規格が統一されていない場合に使います。現状では、サイト側がパイプ区切りによるOR検索に対応している必要があります。
- minetype
- minetypeを指定する必要がある場合は、ここに書いてください。
- disabled
- ここをtrueに設定すると検索を行いません。SITEINFO自体は消したくないけど、一時的に無効にしたい場合に使います。
図書館の追加方法についてはid:turing_patternさんのエントリが詳しいです。
PAGEINFO
アマゾンのページ構造の情報を記述するフォーマットです。自分でPAGEINFOを書いて対応ページを増やすことができます。
{ type: 'wishlist', urlExp: '/wishlist/', insertAfter: '//tbody[@name]/descendant::tbody[1]/tr[last()]', asinLink: '//td[@class="small"]/strong/a', autoStart: true }
- type
- ページの説明です。
- urlExp (必須)
- URLに含まれる文字列。ページタイプの判定に使います。
- insertAfter (必須)
- XPath。指定した要素の直後に検索結果を挿入します。
- asinLink (必須)
- XPath。「ISBNを含むURLをhref属性に持つリンク」を指定します。insertAfterとasinLinkで抽出できる要素数が違ったりするとおかしなことになります。
- autoStart
- DEFAULT_AUTO_STARTとの論理積がtrueになるように設定すると、検索を自動開始します。
さらにカスタマイズ
もっと複雑なことをさせたい人は以下を参照してください。完全に自分用に作った機能ですが、参考までに。
更新情報
2011.04.05
- eBOOKOFF検索が動かなくなっていたのを修正。(id:poppenさんより。)
- Greasemonkey-0.9.1に対応。(同じくid:poppenさんより。ありがとうございます!)
2010.05.24
2010.04.11
- アマゾン側の仕様変更に伴ない、PAGEINFOを更新。
- 動かなくなっていた古書店サイトのSITEINFOを更新。
- SITEINFOにminetypeを追加。(id:ats7さんより。ありがとうございます!)
- リスト系ページでの起動方法を、ユーザスクリプトコマンドからリンククリックに変更。
- その他いろいろ(間が空きすぎて忘れました。。)
2009.03.16
- amazon_cross_book_check_20090316.user.js
- TIMEOUTを廃止。あんまり意味ないわりに面倒なため。
- ifFoundとAfter actionを追加。
2009.02.28
2009.01.16
2008.12.22
- サイト毎に検索が完了したタイミングで結果を表示できるように修正。
- INTERVALを追加。
2008.12.17
- SITEINFOのregxp属性をregexpに変更。wedataとソースで表記が食い違っていました。なんで今まで気付かなかったんだろう。すいません。。
2008.12.08
- SITEINFOにbothISBNを追加。id:fuji70 ++
2008.11.28
2008.11.20
2008.11.12
- デフォルトの検索対象に古本市場とeBOOKOFFを追加。turing_pattern++、poppen++
- DEFAULT_AUTO_STARTを追加。自動開始の一括設定が可能に。
- TIMEOUTを追加。検索対象が増えて重くなってきたため。
- SITEINFOの項目にdisabledを追加。
- ページ設定の変数名をCONFからPAGEINFOに変更。
- PAGEINFOに「最近チェックした商品」を追加。id:turing_pattern ++
- WEB開発日記 - Amazon Cross Book Check -アマゾンから最安中古価格...
- 実験と娯楽 - ACBC - wedataに登録
- [xyzzy][本]Amazon Cross Book Check と OpenID と文字コード
- fuji70の日記 - Amazon Cross Book Checkは便利です
- 文献斜め読み - amazon + 図書館2
- 文献斜め読み - amazonから図書館の蔵書検索
- サマーキャンプ - Firefoxだとブックオフオンラインにアクセスでき...
- progressive link - 大学図書館でgreasemonkey
- 教えて!Turing先生 - Amazon Cross Book Check で自分の好きな図書...
- 教えて!Turing先生 - ACBC を使って短い URL を
- 実験と娯楽 - ACBC - カスタマイズ性の向上
- 実験と娯楽 - ACBC - カスタマイズ性の向上 その2
- gosei66dbの日記 - AmazonCrossBookCheck
- 実験と娯楽 - Amazon Cross Book Check 更新
- 心揺々として戸惑ひ易く - なかなか見つからない読みたい本を探した...
- 諸学初学者 - Amazon.co.jpから神戸大学図書館OPACを直接検索する(...


