後編 WebサービスをAmazonで知る――PHPでECS 4.0を使うテクニック(5/5 ページ)

» 2005年02月25日 12時40分 公開
[金子 順,ITmedia]
前のページへ 1|2|3|4|5       

アダルト商品を判別する

 ECSの悩ましい点として、キーワード検索の検索結果にアダルト商品が混在していることがあります。自分のサイトで、意図せずアダルト商品を表示してしまうのは避けたいものです。ECSでは、DVDなど一部の商品では、<ItemAttributes>内の<Format>でアダルト商品を判別することができるようになっています。

<ItemAttributes>
<Format>アダルト</Format>
</ItemAttributes>

 ただし、<Format>タグはすべての商品に付加されているわけではなく、チェック漏れが発生してしまいます。<Format>に加えて、その商品が所属する商品カテゴリの情報である<BrowseNodes>をチェックすることで、さらに多くのアダルト商品を判別することが可能です。

 これでも、<Format>も<BrowseNodes>も指定されていないごく一部の商品は、チェックをすり抜けてしまうかもしれませんが、かなりの割合でアダルト商品が除外できるはずです。以下に、アダルト商品を判別するサンプルソースコードを記載します。

リスト4■アダルト商品判別のサンプルソースコード
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 />";
}

などと利用することで、アダルト商品の判別を行うことが可能です。

実際のビジネスデータに触ることができるECSの強み

 以上、PHPを利用したECS 4.0プログラミングについて解説してきました。ECS 4.0を利用する上でのテクニックは、AmazonのWebサービス公式ブログでもいろいろと公開されています。

Amazon Web サービス ブログ

 ECSからは、ほかにもカスタマーレビューや関連商品など、さまざまな種類のデータを取得することができます。これらのデータを組み合わせて、自分だけの高度なAmazonアプリケーションを構築するのもよいでしょうし、Webプログラミングを勉強する初心者にとっても、ECSはよい題材になるのではないでしょうか。

 「ビジネスで利用されている実際のデータ」に簡単にアクセスできる、という点がECSの最も面白いポイントであり、実際のデータを加工しながら、具体的なWebアプリケーションの構築をしていくと、楽しくWebプログラミンを勉強できると思います。

 情報は誰にでも平等に公開されています。あとは、ちょっとしたアイデアと、プログラミンを始めてみようと思う好奇心があれば、すぐにでも最先端のWebサービスアプリケーションを作成する準備が整っているわけです!

前のページへ 1|2|3|4|5       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ