Danさんの真似をして「Amazonの2007年11月分の決算の集計が終わったので結果を発表します。」というこのエントリーを書くために、 AmazonアソシエイトからのレポートをXMLで取得して、パースしてHTMLに書きだすというPerlのスクリプトを書いた。で、みてみた。所詮、俺なんかの範疇では3位くらいまでしかちゃんと格付けできないことがわかった。 そして、エロDVDがたくさん売れてた。
というしょぼいランキングですが、せっかく作ったので、1位から3位を紹介します。 エロDVDはその中には含まれていないので心配ご無用です。
えー、1位は「いかにして問題をとくか」でした。 「ゆーすけべー日記: いかにして効率よく大量のおっぱい画像をダウンロードするか」というエントリーに張ったのが功を奏し結構売れてます。 実際、いい本なので、まだ味読の人は是非。 個人的には、3位以内には入っていませんが、 「ゆーすけべー日記: "Welcome To The Black Parade" - My Chemical Romance」で紹介したマイケミの「ザ・ブラック・パレード」が売れたのが嬉しいです。
-
いかにして問題をとくか
1位だよ!
[本日記による言及]
-
あなたはコンピュータを理解していますか? 10年後、20年後まで必ず役立つ根っこの部分がきっちりわかる! (サ
2位だよ!
[本日記による言及]
-
星がきれい
2位だよ!
[本日記による言及はないよ]
-
メタマス!―オメガをめぐる数学の冒険
3位だよ!
[本日記による言及はないよ]
-
仙界伝 封神演義 外伝新章
3位だよ!
[本日記による言及はないよ]
-
ファイナルファンタジーXI アルタナの神兵 拡張データディスク
3位だよ!
[本日記による言及はないよ]
日記で言及してなくても結構売れたりするものですね。 ちなみに、Amazonが出力するreport.xmlをパースしてHTMLに書き出すPerlのスクリプトはこんな感じです。 中古で売れた本の重複を防いだり、順位付けをするため、ちょっと長くなってます。
#!/usr/bin/perl
use strict;
use warnings;
use XML::XPath;
use XML::XPath::XMLParser;
use Template;
use Unicode::RecursiveDowngrade;
my $xp = XML::XPath->new( filename => 'report.xml' );
my $nodeset = $xp->find('//Item');
my @lists;
foreach my $node ( $nodeset->get_nodelist ) {
#print Dumper($node);
my %attribute;
foreach my $attr ( @{$node->find('@*')} ){
$attribute{$attr->getName} = $attr->getNodeValue;
}
push(@lists, \%attribute);
}
my @items;
foreach my $list (@lists) {
my $flag = 1;
foreach my $item (@items) {
if( $list->{Title} eq $item->{Title}){
$item->{Qty} ++;
$flag = 0;
last;
}
}
push(@items, $list) if $flag;
}
@items = sort { $b->{Qty} <=> $a->{Qty} } @items;
my $num = $items[0]->{Qty};
my $no = 1;
foreach my $item (@items) {
if( $item->{Qty} == $num ) {
$item->{No} = $no;
}else{
$num --;
$no ++;
$item->{No} = $no;
}
}
my $rd = Unicode::RecursiveDowngrade->new;
my $ref = $rd->downgrade(\@items);
my $tt = Template->new;
$tt->process(\*DATA,{items=>$ref})
|| die $tt->error(), "\n";
__DATA__
<ul>
[% FOREACH item = items -%]
<li style="margin-bottom:10px;">
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/[% item.ASIN %]/kamawada-22/">
<img src="http://images.amazon.com/images/P/[% item.ASIN %].01._SCTHUMBZZZ_.jpg" align="left" />
</a>
<a href="http://www.amazon.co.jp/exec/obidos/ASIN/[% item.ASIN %]/kamawada-22/">
[% item.Title %]</a><br />
[% item.No %]位だよ!
<br clear="all"/>
</li>
[% END -%]
</ul>