2010年6月23日水曜日

Amazonのランキングチェックツール

自分の本がAmazonに掲載されると、やっぱりランキングが気になる。詳細は不明だが、「たかが学生」がせどりに参入!! アマゾンランキングの秘密1をみると、販売部数に応じて1時間ごとに更新されるようだ。

1時間毎にアクセスしてランキングをチェックしていると仕事に集中できないので、AmazonのWebAPIを使って自動的にランキングを取得するスクリプトを書いてみた。cronで1時間に1回実行すれば、ランキングの推移が記録できるだろう。詳細は私のWikiの「Perl/Net-Amazon」にアップしたので、お暇な人はご覧あれ。

#!/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;

1 件のコメント:

  1. Mentho(netcaffee@hotmail.com)2011年10月25日 15:14

    初めまして。
    プログラム・スクリプトの知識がない為、ExcelのWebクエリで自分で出品している商品のランキングを追っていたのですが、今朝から取得ができなくなってしまい、自動取得できるツールなどを探して辿り着きました。

    このスクリプトはWindows上でも動かせるのでしょうか。
    商品数が500ほどあるのですが、一括で取得するようにもカスタマイズできますでしょうか。
    また、そのスクリプトを作成して頂くとしたら、お幾らで作って頂けますでしょうか。

    不躾な質問で恐縮ですが、ご回答のほど宜しくお願い致します。

    返信削除