ありlog

コンピュータ楽しい

amazonで見ている本にkoboの価格を表示するchrome拡張を作りました

去年の秋からコツコツと所有本を電子化してます.なので新しい本を買う時もできるだけ電子書籍版の方を買いたい. そこで電子書籍版があるかどうか,あったらどこが一番安いかをamazon / kobo (rakuten books) の両方探したりするのですが,まあめんどいです.

ということで,amazonのページにkoboの価格とリンクを表示するchrome拡張を作りました. 自分用に作ったら思ったより便利だったのでchrome storeで公開しています.

こだわりポイント

あくまでamazonのページデザインに沿って表示するので目障りになりません.

f:id:arieee0:20141122201040p:plain

しかもkoboの価格がkindleよりも高ければ灰色に,

f:id:arieee0:20141122172430p:plain

安ければ赤色に,

f:id:arieee0:20141122172412p:plain

など細かい謎の気配りをしてくれます.できるやつです.



ちなみに最初は楽天ぽく表示するバージョンも作ってみて個人的には気に入ってたんですが, 友達に見せたところすごい顔されたのでボツになりました.これです.

f:id:arieee0:20141122183424p:plain

いいですね〜〜〜

だって値段高いのにkoboの方を買いたくなりませんか



なりませんか.すみません.

どんな人に便利か

  • kindle/koboの両方使っている人
  • とにかく安く本が読みたい人

国内2大電子書籍プラットフォームであろうkindleとkoboですが,やはり国内の本の品揃え・価格に関してはkindleの方が現時点では優れていると思います.

しかし,たまにkoboしか取り扱っていなかったり,koboの方が安い時があります.

このchrome拡張はamazonのページ内でkoboの情報を表示するので,そのような場合でも誤って紙の本や高いkindle版を買うことを避けられます.

  • 洋書を読む人

koboが強いのが技術書などの洋書です.

洋書にはkoboしか取り扱いがない本,koboの方が大幅に安い本が結構あります.

よく洋書を買う人は入れても損はないと思います.



ということでKoboでは、この価格 - Chrome Web Store よければ使ってみてください.

chrome拡張の作り方

以下技術情報.

今回chrome拡張初めて作りましたが,意外に(仕組みは)簡単でした.

まず一つのフォルダを用意し,その中にmanifest.jsonというファイルを置いて,プログラムのメタ情報を記述します

{
    "name": "Koboでは、この価格",
    "version": "1.0.3",
    "manifest_version":2,

    "description":"amazonで見ている本のkoboでの価格を表示します",
    "icons":{
        "16":"images/shelf16.png",
        "64":"images/shelf64.png",
        "128":"images/shelf128.png"
    },

    "permissions":[
        "http://www.amazon.co.jp/*"
    ],

    "content_scripts":[
        {
            "css":["style.css"],
            "matches":["http://www.amazon.co.jp/*"],
            "js":["jquery.js","contentscript.js"]
        }
    ],

    "web_accessible_resources": ["images/ajax-loader.gif"]
}

作ったchrome拡張のタイトル・説明や,アイコン,css, jsの場所など

permissionsはユーザーのどの情報にアクセスするのか明記するところです. 今回はユーザーが見ているamazonのページ上の,本のタイトルや著者の情報にアクセスしているので "matches":["http://www.amazon.co.jp/*"]と書いています. もしユーザーのchrome上のbookmarkとかにアクセスするのであれば,それも書きます.

あとはゴリゴリcontentscript.jsで処理を記述すればいいだけです. js慣れてないから結構時間かかった...

koboでの価格を取得するのには 楽天API( 楽天ウェブサービス: API一覧 )を用いています.

タイトルや著者をqueryに含めて投げれば,その本の価格等が取得できます.

koboのセール情報とかポイント情報とかも取得できれば,それを含めてもっと楽天ぽくできるのになあ