Amazon APIで並列処理っぽい実装する方法

スポンサーリンク
library

Amazon APIは並列呼び出しNG

http://www.findelight.net/twindowshop/
の中では、Twitter APIにてツイートを呼び出し、ツイートの内容からキーフレーズを抽出し、キーフレーズをキーワードにしてAmazon APIにて商品検索というのをやっています。ツイートの内容からキーフレーズを抽出という部分に関しては、以下の記事にて並列処理を行って高速化する方法を紹介しました。
http://www.findelight.net/curl_multi/

その記事の中で、Amazon APIの処理が結局一番時間がかかっているという事も書いていて、じゃあそこを高速化しようという話なんですが、それが単純には行かないのです。

というのも、AmazonのAPIはcurl_multiなどで並列同時呼び出しをするとエラーになるのです。アマゾン側から制限がかけられていて、1秒に1回しか呼び出してはいけないのです。

でも、これにしたがってやっているだけだと一つのキーワードでの検索になってしまうので、出てくる結果がどれも同じ単語に関連する本になってしまって面白くない。「次はどんな本が並ぶんだろう、ワクワク!」っていうのが大事なのである。

疑似並列処理的アプローチ

何か方法はないかという事で考えたのが以下の作戦。複数のキーワードのor検索にしています。 AmazonのProduct Advertising API (PAAPI)では、”|”で区切ってあげると複数のキーワードでのOR検索になります。

これによって、複数のキーワードから得られる本が並ぶようになったので、程よくカオス状態になって次にどんな本が出てくるのかが予測できないようになりました。いつまでもワクワク見ていられるようになって満足です。
ぜひ、興味を持った方は一度試してみてください、ホント見ているだけで面白いですよ。
http://www.findelight.net/twindowshop/