iRSSの日記

はてなダイアリーiRSSの日記の続き

ポンパレードの成立までの残り枚数を調べる

t★ポンパレ祭り★
ポンパレから有効期限なしの「ハーゲンダッツ アイスクリーム ミニカップ 120ml 2個 ギフト券」660円分を100円で!

なのですが、成立するのは50万枚と気が遠くなりそう。

どのくらいのペースで、購入されているのか知りたくなる。


購入枚数が、表示されるが、きっと、Ajaxで取得しているのだろうと、予想し、しらべてみた
Safariでリソースをしらべたら、定期的に更新されている、XMLがみつかった

http://ponpare.jp/xml/P246.xml?_=1289056207215

で取得できる模様

どうも
http://ponpare.jp/xml/[クーポンID].xml
で、取得できそうです。

http://ponpare.jp/uw/uwp1101/uwt1101init.do?code=P246&areaId=8
というクーポンの場合は、クーポンIDは code に相当なので、
http://ponpare.jp/xml/P246.xml

あとはこれを定期的に呼出して、グラフにでもしてみるとよさげ
なまデータですが、以下のように取得できました。

2010-11-07T00:04:01     13      65114   1       434886
2010-11-07T00:06:01     13      65147   1       434853
2010-11-07T00:08:02     13      65170   1       434830
2010-11-07T00:10:01     13      65212   1       434788
2010-11-07T00:12:01     13      65252   1       434748
2010-11-07T00:14:01     13      65280   1       434720
2010-11-07T00:16:02     13      65309   1       434691
2010-11-07T00:18:01     13      65337   1       434663


ちなみにソースはこんな感じ

use strict;
use warnings;

use XML::TreePP;
use FindBin;
use DateTime;

my $tpp = XML::TreePP->new();
my $cgiurl = "http://ponpare.jp/xml/P246.xml";
my $tree = $tpp->parsehttp(GET => $cgiurl);

use Data::Dumper;
my $log = "$FindBin::RealBin/watch/log.txt";
my @vals = (DateTime->now(time_zone=>'Asia/Tokyo'));
for (keys %{$tree->{Coupon}}){
        push @vals,$tree->{Coupon}{$_};
    }
open my $fh,">>$log";
print $fh join("\t",@vals)."\n";
close $fh;