FC2ブログ

#!/usr/bin/perl
use warnings;
use strict;

use URI;
use Web::Scraper;

my $yahoo = "http://table.yahoo.co.jp/t?s=";
my $code = "";
my @finance = ();
my @split = ();

my $uri_str = $yahoo.$code;
my $uri = new URI($uri_str) || die "$!";

my $scraper = scraper {
process '//table//tr[@bgcolor="#ffffff"]//small', 'finance[]' => 'TEXT';
process '//table//tr[@bgcolor="#ffffff"]//font[@size=-1]', 'split[]' => 'TEXT';
};

my $res = $scraper->scrape($uri) || die "$!";

my $i = 0;
my $j = 0;
# 時系列
# 0日付 1始値 2高値 3安値 4終値 5出来高 6調整後終値
foreach (@{$res->{finance}}) {

if($j == 7){
$i++;
$j = 0;
}

$_ =~ s/,//g;
$finance[$i][$j] = $_;

$j++;
}

$i = 0;
$j = 0;
# 分割情報
# 0日付 1分割
foreach (@{$res->{split}}) {

if($j == 2){
$i++;
$j = 0;
}

$split[$i][$j] = $_;

$j++;
}

一言
時系列をperlで扱うならFinance::YahooJPN::Quoteを使うのが便利ですけど、
スクレイピングの勉強がてらYahooから時系列を取得してみたよ。
まだ、一ページ目しか取得が出来ていなかったり、分割を考慮してないのが問題

更新
perl でYahoo Financeから株価時系列データを取得
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS