2017年2月27日月曜日

AmazonのWishlistに入っているKindle本のAmazonポイントを表示させる

2021/7/19追記
当時はページャーだったのですが、現在は無限スクロールにしたのでその仕様に合うように修正しています。

差し迫ってきたことから逃げるために、最近はkindleで本を読んでいます。

電子書籍のメリットと問われると多くの人が言及するのが値段の安さです。
kindle本は値段が安くなるセールだけではなく、ebookjapanやkobo対抗のポイント還元セールも行われています。
ぼくはkindleのセールが始まったらとりあえずWishlistに入れてある本を確認してからセール画面を見るのですが、Wishlistには値段は書いてあるもののポイントがどのくらいついているかはわかりません。

そこで、タイトルのようなAmazonのWishlistに入っているKindle本のAmazonポイントを表示させるchrome拡張を作りました。

まず、Amazon公式のProduct Advertising API(PAAPI)を用いようとしたのですが、実はPAAPIはkindle本の値段を含めポイント還元なども取得することはできません。
googleで検索すると、kindle本の値段やポイント還元はスクレイピングを行うことで取得できるとのことだったので、その方法を用いて本拡張を作りました。
スクレイピングはデータ処理などでよく用いられているため、参考資料はたくさんありました。
またAmazon公式のWishlistからAmazonのサイトをスクレイピングするため、クロスドメイン通信を行わなくて済みました。

コードはGithubに置いています。
また、パッケージ化したchrome extensionsはDropBoxに置きました。

パッケージ化したものの使い方は、拡張機能のページにダウンロードしたextensionsをD&Dし、出て来るページの保存を押すだけで大丈夫だと思います。
Wishlistを開き少し待つとポイントが価格の横に表示されます。

ただしポイントが表示されるのはkindle本のみなのでご了承下さい。
また、Amazonのアフィリエイトタグなどは入っていないのでご安心下さい。

確認用にkindle本も入っているほしい物リストを置いておきます。
ほしい物リスト

以下雑記(メモ)
for in はインデックス
for of はエレメント

innnertextでは改行が入る

inputで選択させないためにはdisabled

fetchは今の段階では読み込む前に処理してしまう

beforeendで直後に文字を付加

data-item-prime-infoはプライム以外でも大丈夫なのかはわからない


参考サイト

1 件のコメント:

  1. こんにちは。これは便利ですね!
    ただ、最近のウィッシュリストの仕様では、最初にロードされた部分しかポイント表示されないようです。
    (※ローカルではESCキー押しで全件取得するように改造していて、実用上は非常に満足しています)

    返信削除