chakokuのブログ(rev4)

日々のごった煮ブログです

Kindle無料コミックを検索するサービスをGoogle App Engine上に試作

昔はそれほどストレスなく使えていたGAEだが、しばらく使っていないうちにサービスも大きく変わって、腕も鈍って、結構大変だった。が、、なんとかAmazon APIを叩いて、無料KindleコミックをRESTで取ってきて、それを整形して表示するシステムを組んだ。
いまはまだ都度検索しているので、時々タイムアウトになったり、めちゃくちゃ遅い。それに、TOP100冊しか表示できない(APIの制限により)。
今後はバッチで検索を実行して書籍情報をDBに蓄えることで、ストレスなく100冊ぐらいを一度に表示できるように改良したい。また、過去に読んだ本は表示しないとか、趣味に合わない○○系の本は出さなとか、パーソナライズできるようにしたい。興味がありましたら、以下のURLで使ってみてください。
https://amazon-kindle-search.appspot.com
Kindle無料コミック検索サイト(試作中)
※ご注意点:Amazonの価格変動が激しくて更新が追い付いていません。すでに無料期間が終わったコンテンツやらURLが変更になったのやらありまして、注文される場合は値段を十分に確認してください。


ちなみに、、検索条件をいろいろ指定すればいろんな情報を取り出せるけど、今は、以下で検索

(Kindle AND コミック AND 無料) AND ORDER : 新しい順

API呼び出しの指定パラメータは以下

params = {
      "Operation"      : "ItemSearch",
      'BrowseNode'     : '2293143051',    # Kindle Comics
      'SearchIndex'    : 'Books',
      'MerchantId'     : 'All',
      'MaximumPrice'   : '0',
      'Sort'           : 'daterank',
      'ItemPage'       : '1',
      'ResponseGroup'  : 'ItemIds',
      "Service"        : "AWSECommerceService",
      "AWSAccessKeyId" :  AMAZON_ACCESS_KEY,
      "AssociateTag"   :  AMAZON_ASSOC_TAG,
      "Timestamp"      : time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
}

新しい順については、release-dateとpublish-dateがありどちらを使うべきかとかいまいちわかっておらず、また実装コードにちょっとバグがあるように思える。