« ガソリンセール終了 | トップページ | びっくり…w »

BWSとA2WSとAWS

BWSビッダーズDB情報を取得出来るAPI
A2WSBWSの、アフィリエイト2.0対応版
AWSAmazonDB情報を取得出来るAPI

今まで、ビッダーズBWS及びA2WSを使ってクローン型アフィリエイトサイトを構築してきたわけなんだが…
同じようなサービスをAmazonが提供している(というかこっちの方が古いのかな?)のを知り、折角だしこっちも作ってみようかな~ と最近チャレンジ中。

が、どうもいろいろ試行錯誤していると、ビッダーズの方が作りやすく、Amazonの仕組みは非常に使いづらい。というか制約が大きいように感じる。

  • リクエストが最短で1秒に1回に制限されている
  • 1回の検索リクエストで取得出来るアイテム数が10コに制限されている
  • カテゴリ(ブラウズノード)情報を取得する際、親カテゴリ情報やそのカテゴリに含まれるアイテム数などを取得出来ない

というのが今までちょろっと調べた中で困った部分。

まず初めに、「リクエストが最短で1秒に1回に制限されている」という部分だが、例えばとあるカテゴリの商品一覧ページを表示する際、ページ左側のメニューにそのカテゴリ配下の子カテゴリ一覧を表示し、ページ右側にそのカテゴリに含まれるアイテムを並べる、とする。
すると、メニューを作るのにそのカテゴリ情報を取得し、さらにそのカテゴリに含まれるアイテム一覧を取得するという、最低2コのリクエストが必要になる。1ページの表示に2リクエストだと、ページの表示開始に最低でも1秒以上かかることになる。

さらに、親カテゴリの情報がないため、「1つ上位のカテゴリに戻る」とか、今表示しているカテゴリはどういうカテゴリツリーになるのか(例えば 全体→本→作者○○の本 といった分類)を表示することが出来ない。
しかも1リクエスト10アイテムまで(マルチオペレーションで20アイテムまで)に制限されているため、1ページに数十コ並べると言うことが出来ず、ページ切替が多くなり面倒。

などなど、かなり使い勝手に制約が出来る。

カテゴリ(ブラウズノード)関係については、独自にDBを作り定期的に更新することである程度対応は可能だが、ノード一覧を取得するプログラムを作って走査したところ、今日の時点で3万を超えるブラウズノードがあることが分かった(ビッダーズは6千程度)。(この走査で親ノード情報を含んだDBは作成した)
1秒1リクエストの制限により、スクリプトの処理時間やAWSの反応時間、データ転送時間などを考慮しなくても、全てのブラウズノードをチェックするのに、単純計算で8時間以上もかかる計算になる。うひぃ~(;´Д`)
しかも、8時間以上かけてブラウズノード情報を更新している間、他のリクエスト(ページを表示するなどで情報取得のため)が発生すると更にその分時間がかかるわけで……

さて、まだAWSの機能を全部理解した訳じゃないので、手探りで色々試してみることになるんだけど、ビッダーズより遥にハードルが高そうだなぁ…(´・ω・`)

|

« ガソリンセール終了 | トップページ | びっくり…w »

パソコン・インターネット」カテゴリの記事

コメント

BWSって言うからさ・・・
てっきりリガズィの事かと思ったじゃんよ(;´Д`)

投稿: じゅんじゅん | 2006.08.27 00:49

なぜ!?w

投稿: ごっつ | 2006.08.27 03:15

各アイテムの項目名がカテゴリ毎どころかアイテム毎に違うものまで… orz

キツすぎw

…やめよかな(爆)

投稿: ごっつ | 2006.08.27 15:33

ぼくもAWS使ったサイト作ってます。(未完成ですが。)
左のメニュー情報はマルチオペレーションを使って商品情報と同時に取得しています。
マルチオペレーションは複数のリクエストを1回のリクエストにまとめることが可能です。
商品情報は1度に10件までとなってますが、同じくマルチオペレーションを使うことにより、20件の取得が可能です。
しかし、現在のところ、まとめることができるのは2つ(2リクエスト)まです。
なので商品情報20件分で2リクエスト分とカテゴリ情報1リクエスト分のあわせて3リクエスト分を1つにまとめるのは現状のAWSの制限内では不可能です。
出品数の表示はそのカテゴリにアクセスした際にキャッシュを取るようにして擬似的に表示させてます。ナビに関してはブラウズノード情報から必要な箇所をスクレーピングしてなんとかなってますが、おかしな挙動をする時も有ります。アマゾンでのカテゴリ分けが複雑になっており、親カテゴリではないところに戻る時が有ります。
んー
AWSは細かいリクエストができる分、複雑でむずかしいですが、
他のWEBサービスが単純な作りに見えて、楽になるとおもいます。


投稿: ペトリ皿 | 2007.02.20 20:43

BWSはそこそこのレスポンスだけどA2WSって重いと言うか、接続すらできなくなることがあるのはなぜ?
ぼくだけ?

投稿: ペトリ皿 | 2007.02.20 21:01

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: BWSとA2WSとAWS:

« ガソリンセール終了 | トップページ | びっくり…w »