目次 †
内容 †
参考 †
準備 †
NET::Amazonのインストール †
$ su -
# cpan -i XML::SAX::Expat
# cpan -i XML::Simple
# cpan -i Net::Amazon
アクセスキーの準備 †
- Amazon Web Servicesの管理画面にログインする
- 上部メニューの「Account」をクリックし、「Security Credentials」をクリック
- 表示される「Access Key ID」と「Secret Access Key」を確認する
参考スクリプト †
ISBNで書籍名を取得 †
#!/usr/bin/perl
use Net::Amazon;
use Encode;
my $ua = Net::Amazon->new(
'token' => '【Access Key ID】を指定',
'secret_key' => '【Secret Access Key】を指定',
'locale' => 'jp');
my $res = $ua->search( 'isbn' => '4844328867' );
unless ( $res->is_success ) {
print "Error: ", $res->message, "\n";
exit 1;
}
print encode( "utf8", $res->as_string ) . "\n";
ランクチェッカー †
#!/usr/bin/perl
use Net::Amazon;
use Encode;
use IO::File;
use POSIX;
###==================================================================================
### 初期設定
###==================================================================================
my $logFile = "/path/to/result.txt"; # 絶対パスでないとCronで失敗するかも
my $AccessKeyID = "【Access Key ID】を指定";
my $SecretAccessKey = "【Secret Access Key】を指定";
my $isbn = '【調べたいISBN】を指定';
###==================================================================================
### 初期設定
###==================================================================================
### open log file
my $fh = IO::File->new( $logFile, "a" ) || die ( "cannot open file: $!" );
$fh->print( strftime( "%Y-%m-%d %H:%M", localtime ) . "\t" );
### access to Amazon Web Services
my $ua = Net::Amazon->new(
'token' => $AccessKeyID,
'secret_key' => $SecretAccessKey,
'locale' => 'jp');
my $res = $ua->search( 'isbn' => $isbn );
### output result
$fh->print( ( $res->is_success ? $res->properties()->SalesRank() : "-" ) . "\n" );
### exit
$fh->close();
exit;