前の日 / 次の日 / 最新

WinChalow

2005 : Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2004 : Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2005-02-07 Mon

交通量調査-Windows版


Windowsでも動くように HTTP::Lite::Fetch を使ってみた。
http://digit.que.ne.jp/work/index.cgi?Perl%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB%2FHTTP%3A%3ALite%3A%3AFetch

ppm.bat でHTTP::Liteをインストールしておく必要がある。Date-Calcも忘れずに。
C:\> ppm.bat
ppm> install HTTP-Lite
ppm> install Date-Calc
ppm> quit

HTTP::Lite::Fetchはインスコ・セットがついてないので、自力で展開し、C:\Perl\site\lib 以下にコピーする。

URI::FetchをHTTP::Lite::Fetchに差し替えたものが次のスクリプトだ。こちらだとCacheモジュールはいらない。さらに簡単になったし、Windowsでも動く。

もうユーザー・エージェントの定義なんかやってる時代じゃないのだった...
#! C:/Perl/bin/perl

use strict;
use HTTP::Lite::Fetch;
use Date::Calc qw(Today_and_Now Add_Delta_DHMS Day_of_Week);

# 首都高の空いている曜日と時間帯をさがす
my $uri = 'http://www.jartic.or.jp/traffic/highway/kousoku/rhp0001.jpeg';
# キャッシュの置き場
my $cache = './kousoku.cache';

my $res = HTTP::Lite::Fetch->fetch($uri, Cache => $cache)
or die HTTP::Lite::Fetch->errstr;
my $jpg = $res->body;
my @now = Add_Delta_DHMS(Today_and_Now(),0,0,-10,0); # タイムラグが10分くらいあるようだ...
my $file = sprintf("%04d%02d%02d_%02d%02d", @now) . '.jpg';
my $dow = Day_of_Week($now[0],$now[1],$now[2]);

# ファイルは、var/曜日番号/以下におく 月曜=1, 火曜=2, .. .. .. 日曜=0
# ディレクトリはあらかじめ作っておく。
open F, ">../var/$dow/$file";
binmode F;
print F $jpg;
__END__

交通量調査


www.jartic.or.jp というサイトで、道路の渋滞情報を流している。5分ごとにJPEG画像が更新されるので、一定期間継続してダウンロードしておくと渋滞の傾向と対策に便利だ。

画像ダウンロードには、wgetや、perlのrgetを使うのが定番だが、最近はURI::Fetchが流行だ。Cache::Fileと組み合わせて変更のあったときだけ落としてくることができる。(via NDO::Weblog http://naoya.dyndns.org/~naoya/mt/archives/001524.html)

ファイル名に年月日時刻を使い、曜日ごとのディレクトリに格納しておくと、あとで分析するのに便利である。日付・時刻まわりはDate::Calcモジュールで一発。

WindowsのActivePerl 5.8であれば、URI::Fetch とDate::Calcはppm でインストールできる。
C:\> ppm.bat
ppm> install URI-Fetch
ppm> install Date-Calc
ppm> quit

Cache::FileはCPANからおろして自力インスコ!
と思ったらダメ。Linuxでないと動かない模様である。
http://search.cpan.org/CPAN/authors/id/C/CL/CLEISHMAN/Cache-2.02.tar.gz

WindowsではHTTP::Lite::Fetch を使えばよさそうだ。

#! /usr/bin/perl

use strict;
use Cache::File;
use URI::Fetch;
use Date::Calc qw(Today_and_Now Add_Delta_DHMS Day_of_Week);

# 首都高の空いている曜日と時間帯をさがす
my $uri = 'http://www.jartic.or.jp/traffic/highway/kousoku/rhp0001.jpeg';
# キャッシュの置き場
my $cache_root = '/tmp/cache';

my $cache = Cache::File->new( cache_root => $cache_root );
my $res = URI::Fetch->fetch($uri, Cache => $cache)
or die URI::Fetch->errstr;
my $jpg = $res->content;
my @now = Add_Delta_DHMS(Today_and_Now(),0,0,-10,0); # タイムラグが10分くらいあるようだ...
my $file = sprintf("%04d%02d%02d_%02d%02d", @now) . '.jpg';
my $dow = Day_of_Week($now[0],$now[1],$now[2]);

# ファイルは、var/曜日番号/以下におく 月曜=1, 火曜=2, .. .. .. 日曜=0
# ディレクトリはあらかじめ作っておく。
open F, ">../var/$dow/$file";
binmode F;
print F $jpg;
__END__

Linuxであれば cronに登録して5分ごとに起動する。果報は寝て待て!

(2005-02-07 16:27:36)

OverTop閉店


秋葉原PCパーツ屋の老舗OverTopが閉店するとのことだ。
http://www.messe.gr.jp/overtop/
超薄利の現場任せ・出たとこ勝負業界も、普遍的な経済原則にしたがうのであった。合掌。
(2005-02-07 11:30:48)

戦闘妖精シャラポア


テレビで女子テニスを見た。

「しぎゃあぁぁぁぁ!」
バスッ
「きしゃぁぁぁぁ!」
ボコッ
「ぎょえェェェェ!」
ドカバキッ
「きゃきょえ゛〜〜〜〜!」
ドスッ

音だけ聞いているとまるで怪獣映画の戦闘シーンだ。
げにすさまじき妖精怪獣。

(2005-02-07 09:11:57)

2005-02 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28