Top > Perl > 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 アフィリエイトレポート
2004/03/28 12:04
Bulkfeeds で関連記事検索
Bulkfeeds で関連記事検索
TrackBack(0)
TrackBack URL for this entry: http://www.asmate.net/mt/mt-tb.cgi/70
すごい。すごすぎます。
勉強になりました。
宮川さんのサンプルがあったおかげで手っ取り早く作れました。先人に感謝です!
コメントする
