ECSの悩ましい点として、キーワード検索の検索結果にアダルト商品が混在していることがあります。自分のサイトで、意図せずアダルト商品を表示してしまうのは避けたいものです。ECSでは、DVDなど一部の商品では、<ItemAttributes>内の<Format>でアダルト商品を判別することができるようになっています。
ItemAttributes> <Format>アダルト</Format> </ItemAttributes>
ただし、<Format>タグはすべての商品に付加されているわけではなく、チェック漏れが発生してしまいます。<Format>に加えて、その商品が所属する商品カテゴリの情報である<BrowseNodes>をチェックすることで、さらに多くのアダルト商品を判別することが可能です。
これでも、<Format>も<BrowseNodes>も指定されていないごく一部の商品は、チェックをすり抜けてしまうかもしれませんが、かなりの割合でアダルト商品が除外できるはずです。以下に、アダルト商品を判別するサンプルソースコードを記載します。
function checkAdult($item) { if ($item->ItemAttributes->Format == "アダルト") return TRUE; if( ( strpos($item->BrowseNodes->BrowseNode[0]->Name,"アダルト") === false) || (strpos($item->BrowseNodes->BrowseNode[0]->Name,"ヤングアダルト") !== false) ) { if(strpos($item->BrowseNodes->BrowseNode[0]->Ancestors,"アダルト") === false || (strpos($item->BrowseNodes->BrowseNode[0]->Ancestors,"ヤングアダルト") !== false) ) { if(strpos($item->BrowseNodes->BrowseNode[0]->Children,"アダルト") === false || (strpos($item->BrowseNodes->BrowseNode[0]->Children,"ヤングアダルト") !== false) ) { $isAdult = FALSE; } else { $isAdult = TRUE; } } else { $isAdult = TRUE; } } else { $isAdult = TRUE; } return $isAdult; }
こちらをecs.phpのfunctionとして追加して、view.phpから、
if($ecs->checkAdult($item)) { print "<b>注意:アダルト商品です</b><br />"; }
などと利用することで、アダルト商品の判別を行うことが可能です。
以上、PHPを利用したECS 4.0プログラミングについて解説してきました。ECS 4.0を利用する上でのテクニックは、AmazonのWebサービス公式ブログでもいろいろと公開されています。
ECSからは、ほかにもカスタマーレビューや関連商品など、さまざまな種類のデータを取得することができます。これらのデータを組み合わせて、自分だけの高度なAmazonアプリケーションを構築するのもよいでしょうし、Webプログラミングを勉強する初心者にとっても、ECSはよい題材になるのではないでしょうか。
「ビジネスで利用されている実際のデータ」に簡単にアクセスできる、という点がECSの最も面白いポイントであり、実際のデータを加工しながら、具体的なWebアプリケーションの構築をしていくと、楽しくWebプログラミンを勉強できると思います。
情報は誰にでも平等に公開されています。あとは、ちょっとしたアイデアと、プログラミンを始めてみようと思う好奇心があれば、すぐにでも最先端のWebサービスアプリケーションを作成する準備が整っているわけです!
Copyright © ITmedia, Inc. All Rights Reserved.