AWS(Amazon Web Service)でアダルト商品を禁止する

キーワード一覧にて、温泉旅行などのキーワードで人妻不倫旅行特別篇などアダルト商品ばかり入っていたので、アマゾンだと検索で18禁のも出てくるのだということに気がつき、対処しました。

とりあえず検索してみかけたお気楽極楽ブログ - AWSでアダルト商品を除外するを参考にしてtype=heavyを加えてリクエストしてみます。記事では Featuresに アダルト が含まれるのだと書いていましたが、ItemAttributes に アダルト が含まれるという形でした。バージョンが違うのかしらん。

でまあ、簡単に条件分岐を加えるだけで、明示的にアマゾンがアダルト商品として管理しているものは除去できた……と思いきや。幾つか消せていないものを発見。

Formatは複数個含まれることがあるので、キーワード一覧にamazon.co.jpからの検索結果を導入の時のItemと同様に、ForceArrayを用いてforeachで一つ一つ読みこまないと、チェック漏れが出てしまうわけですね。

というわけで無事成功しまして、めでたしめでたしといったところですか。

この記事へのトラックバックURL:

http://drupal.cre.jp/trackback/111
ゆっくり…して…イってネ! から 月, 2009-04-13 19:01 受信

さくらです。こんばんわ♪
AZlink でアダルト商品を見分けられるようにしたかったんで、AWS でアダルト商品を判別する方法について調べてみたの。
だいたいのことは Drupal.cre.jp さんの AWS(...

UTF-8フラグの問題に対処

モジュールをバージョンアップしてから、UTF-8フラグの有無の違いでアダルトの排除が機能しなくなっていたのを発見。これもUnicode::RecursiveDowngradeを用いて対処しました。

キーワード一覧で、商品検索がある場合、utf8フラグによる文字化けが発生したのを修正と同様の問題ですね。

ついでに参考の溜めソースコードの大雑把な部分を出しときます。

my $rd = Unicode::RecursiveDowngrade->new;

my $url = "http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService".
"&AssociateTag=" . $a_tag .
"&AWSAccessKeyId=" . $AccessKeyId .
"&Operation=ItemSearch&SearchIndex=Blended&ResponseGroup=Medium&type=heavy" .
"&Keywords=" . $keyword;

my $cache = new Cache::FileCache({
namespace => "aws-by-keyword",
default_expires_in => 60 * 60 * 24 * 7 ,
});

my $res = URI::Fetch->fetch( $url , Cache=>$cache, NoNetwork=>3600*24*7 ) or die URI::Fetch->errstr;
my $xmlsimple = XML::Simple->new( ForceArray => ['Item' , 'Format'] );
my $response = $xmlsimple->XMLin($res->content);

foreach my $result (@{$response->{Items}->{Item}}){
my $notflag="";
foreach my $format_text (@{$result->{ItemAttributes}->{Format}} ){
$format_text = $rd->downgrade($format_text); # unflagged UTF-8
$notflag = "non" if ( $format_text eq "アダルト" ) ;
}
next if $notflag ne "";
my $title = $result->{ItemAttributes}->{Title} ;
$title ="no title" if ( $title eq "" );
$out .= "$result->{DetailPageURL}."\t".$title."\n";

}
$out = $rd->downgrade($html); # unflagged UTF-8
return $out;

こんな感じ。


この記事をブックマーク

人気コンテンツ