金の小売価格をメールで通知するスクリプト
金の小売価格を週に一度メールで通知するスクリプトを書いてみた。週に一度、って部分は cron にまかせるわけだけど。
use strict; use utf8; sub strip_yen { my $str = shift; $str =~ s{円}{}xms; return $str; } my $price = do { use Web::Scraper; use URI; my $uri = URI->new("http://gold.tanaka.co.jp/commodity/souba/"); my $table_path = '/html/body/div[2]/table/tr[9]/td/table/tr/td[2]/table/tr[13]/td/table/tr/td/table'; my $scraper = scraper { process "$table_path/tr[2]/td", 'saling_prices[]' => 'TEXT'; process "$table_path/tr[4]/td", 'buying_prices[]' => 'TEXT'; }; my $result = $scraper->scrape($uri); { gold_saling => strip_yen($result->{saling_prices}[1]), gold_buying => strip_yen($result->{buying_prices}[1]), platinum_saling => strip_yen($result->{saling_prices}[2]), platinum_buying => strip_yen($result->{buying_prices}[2]), }; }; my $pipe = '|/var/qmail/bin/qmail-inject -a -fgpone@mato.me example@ezweb.ne.jp'; open my $mail, $pipe or die; print $mail $price->{gold_saling}; close $mail;
指定した価格より下がったらメールする、とかに変えていく予定。