#!/usr/bin/perl -w
use url_get;
use Template::Extract;
use Jcode;
my $url = "http://quote.yahoo.co.jp/";
my @cate = (
'trade_code',
'market_place',
'company_name',
'trade_time',
'last_trade',
'change',
'change_percent',
'volume',
'chart_url',
);
print "Content-Type: text/html; charset=utf-8\n\n";
# クエリ取得
my @codes = getquery();
my %stock = ();
for ( @codes )
{
my $code = $_;
my $url_code = $url."q?s=".$_;
my $ug = new url_get(
$url_code,
"GET",
""
);
my @lines = $ug->geturl();
my $document = "";
for (@lines)
{
$_ =~ tr/\x0D\x0A|\x0D|\x0A//d;
$document .= $_;
}
my $obj = Template::Extract->new;
(my $template = << '.') =~ tr/\x0D\x0A|\x0D|\x0A|\x09//d;
[% trade_code %] |
[% market_place %] |
[% company_name %] |
[% trade_time %] |
[% last_trade %] |
[% change %] |
[% change_percent %] |
[% volume %] |
.
my $ext = $obj->extract($template, $document);
for ( @cate )
{
$ext->{$_} =~ s/^//;
$ext->{$_} =~ s/<\/font>$//;
$stock{$code}{$_} = &utf8($ext->{$_});
}
}
foreach my $key ( keys %stock )
{
for ( @cate )
{
print $_." : ".$stock{$key}{$_}." \n";
}
}
# クエリの取得と変数への格納
sub getquery
{
# クエリの取得
my $buffer;
if( $ENV{'REQUEST_METHOD'} eq "GET" )
{
$buffer = $ENV{'QUERY_STRING'};
}
else
{
read( STDIN, $buffer, $ENV{'CONTENT_LENGTH'} );
}
# 取得したクエリから変数にセット
my @indata = split(/&/,$buffer);
return @indata;
}
sub utf8
{
my $str = shift;
my $j = jcode($str);
return $j->utf8
}
|