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

スポンサーリンク
library

Amazon APIは並列呼び出しNG

偶然書店
どんなサービス? ツイッターでのつぶやきの内容からその人が興味がありそうなキーワードを抜き出し、そのキーワードを使ってアマゾンの書籍を紹介...
の中では、Twitter APIにてツイートを呼び出し、ツイートの内容からキーフレーズを抽出し、キーフレーズをキーワードにしてAmazon APIにて商品検索というのをやっています。ツイートの内容からキーフレーズを抽出という部分に関しては、以下の記事にて並列処理を行って高速化する方法を紹介しました。
curl_multiでYAHOOキーフレーズ抽出APIを並列呼び出し
並列処理で高速化 つい書。の中で、複数のツイートからそれぞれキーフレーズを抽出するために、YAHOOキーフレーズ抽出APIを複数回呼び出し...

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

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

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

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

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

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

偶然書店
どんなサービス? ツイッターでのつぶやきの内容からその人が興味がありそうなキーワードを抜き出し、そのキーワードを使ってアマゾンの書籍を紹介...
スポンサーリンク