« Feb 2004 | Mar 2004 | Apr 2004 »

March 28, 2004

bk1nowreading.pl

WWW::Mechanize を使って bk1 の注文履歴を取得するスクリプトを作ってみました。取得した書籍リストは、トップページに Now Reading として貼り付けてます。

■bk1nowreading.pl

#!/usr/bin/perl -w
 
use strict;
use WWW::Mechanize;
use HTML::Template;
use Jcode;
 
my $email = '';
my $password = '';
my $last = 10;
my $url = 'http://www.bk1.co.jp/';
 
my $mech = WWW::Mechanize->new();
$mech->agent_alias('Windows IE 6');
 
$mech->get($url);
$mech->follow_link(url_regex => qr/login\.cgi/);
$mech->form_name('FormName');
$mech->field(user_e_mail => $email);
$mech->field(password => $password);
$mech->click();
 
my @items;
foreach my $link ($mech->find_all_links(url_regex => qr/srch_detail\.cgi/)) {
    my ($bibid) = $link->url =~ /bibid=(\d+)/;
    push @items, { bibid => $bibid, text => $link->text };
    last if @items >= $last;
}
 
my $tmpl = HTML::Template->new(filehandle => *DATA);
$tmpl->param(items => \@items);
print Jcode->new($tmpl->output)->euc;
 
__DATA__
<TMPL_LOOP items>
<a href="http://www.bk1.co.jp/cgi-bin/srch/srch_detail.cgi?
aid=&bibid=<TMPL_VAR bibid>" target="_blank">
<TMPL_VAR text></a><br />
</TMPL_LOOP>

■実行方法

$email と $password を設定して

% ./bk1nowreading.pl > nowreading.html

cron で定期的に実行して nowreading.html を SSI でトップページに取り込んで表示させています。

■参考
blog.bulknews.net: Amazon アフィリエイトレポート

« Feb 2004 | Mar 2004 | Apr 2004 »

Since 2003.6.19, Yutaka@smate.NET <yutaka@asmate.net>. Powered by MT 2.64