Net::Amazonだと簡単
ActivePerl + Net::Amazon モジュールでサンプルプログラムを作ってみました。
use strict; use Net::Amazon; use encoding "cp932"; my $amazon = Net::Amazon->new( token => '自分のSubscription ID', locale => 'jp', ); my $asin = ['4101327181']; my $res = $amazon->search(asin => $asin); unless ($res->is_success()) { print $res->message(), "\n"; exit; } foreach my $item ($res->properties) { print "Asin: ", $item->Asin, "\n"; print "ProductName: ", $item->ProductName, "\n"; print "Availability: ", $item->Availability, "\n"; print "Catalog: ", $item->Catalog, "\n"; print "Authors: ", join(', ', $item->authors), "\n" if $item->can('authors'); print "ReleaseDate: ", $item->ReleaseDate, "\n"; print "Manufacturer: ", $item->Manufacturer, "\n"; print "ImageUrlMedium: ", $item->ImageUrlMedium, "\n"; print "OurPrice: ", $item->OurPrice, "\n"; print "Media: ", $item->Media, "\n"; my $review = $item->review_set; if ($review->total_reviews) { print "\n"; print "AverageCustomerRating: ", $review->average_customer_rating, "\n"; foreach my $rev ($review->reviews) { print "Rating: ", $rev->rating, "\n"; print "Summary: ", $rev->summary, "\n"; print "Comment: ", $rev->comment, "\n"; } } print "\n"; }
DelphiからSOAPで情報を取得するのも簡単だったのですが、それ以上に簡単です。
難点はNet::AmazonのインストールがppmではできなくてCPANモジュールを使わないといけないところ。ActivePerlでCPANモジュールを使うためにはあらかじめnmakeを入れておかないといけないんですよね。