映画のテレビ放送(番組表)を調べる

--- 映画情報を携帯電話に配信 ---


映画のテレビ放送(番組表)を調べる

動画というのは娯楽として非常に優秀です.その中でテレビは,時間とお金を書けて作られているので,なかなか優秀なコンテンツが多いです。といっても最近は,あまり面白いコンテンツが少なくなってきているように思います.ですが、映画はなかなか優秀です.

テレビで映画を見るためには,放映時間などを調べないといけません.ですが、 新聞を定期購読していなかったり、ネットで番組表を検索すると、地上波の番 組表にまじってBSの番組表がいっしょだったりして、なかなかうまくいきません。


「映画のテレビ放送を調べる方法」を確定する

当初の予定は,調べたテレビ番組表から、BSなどの情報を除く予定でした.
ですが,除く必要のない検索方法(検索サイト)を見つけてしまいました

(^_^;)
http://tv.yahoo.co.jp/search/?sgenr=06

プログラムの説明
プログラムは一番最後に示します.
  1. wgetでhtmlファイルを取得します。
  2. 見やすくなるように、加工します。
  3. 出力結果を、メールとして送信します。

実行例
実行例を以下に示します.一週間分の情報が表示されます。
【2009/05/11】
・キス・オブ・ザ・ドラゴン
   12ch 13:30〜15:30
・ネバーエンディング・ストーリー
    4ch 25:59〜27:50
・桜桃の味&モンティ・パイソン人生狂騒曲
    1ch 27:05〜27:15

【2009/05/12】
・フィフス・エレメント
   12ch 13:30〜15:30

プログラム
#!/usr/bin/perl

open(IN, "http_proxy='[proxy server name]' wget -O - -o /dev/null 'http://tv.yahoo.co.jp/search/?sgenr=06'|");

open(MAIL, "|nkf -j | /usr/sbin/sendmail -t");
#open(MAIL, "|nkf -j | cat -");
print MAIL << "End";
To: <<<送り先メールアドレス>>>
From: <<<送り先元メールアドレス>>>
Subject: TV番組表
End

while ( <IN> ) {
    local($line) = $_;
    
    if ( $line =‾ "^<tr" ){
        if ( $line =‾ "^<tr class=¥"header¥">" ) {
        #    print MAIL "IN: $line¥n";
            next;
        }
        $w = <IN>;      $date = seikei( $w );
        $w = <IN>;      $time = seikei( $w );
        $w = <IN>;      $ch = seikeiCH(seikei( $w ));
        $w = <IN>;      # 読み捨て
        $w = <IN>;      $program = seikei( $w );
        if (! ( $program =‾ m/まもなく!金曜ロードショー/ )) {
            if ( $old_date ne $date ) {
                print MAIL "¥n【$date】¥n";
                print MAIL "・$program¥n   $ch $time¥n";
                $old_date = $date;
            } else {
                print MAIL "・$program¥n   $ch $time¥n";
            }
        }
    }
}
close IN;

print MAIL ".¥n";
close MAIL;

sub seikei {
    local($l) = @_;
    
    chomp($l);
    $l =‾ s/<.*?>//g;
    if ( $l =‾ m/「(.*)」/ ) {
        $l = $1;
    }
    $l =‾ s/土曜プレミアム・//;
    $l =‾ s/ミッドナイトア-トシアタ-・//;

    $l;
}

sub seikeiCH {
    local($ch) = @_;
    $ch =‾ s/NHK総合/ 1ch/;
    $ch =‾ s/日本テレビ/ 4ch/;
    $ch =‾ s/TBS/ 6ch/;
    $ch =‾ s/フジテレビ/ 8ch/;
    $ch =‾ s/テレビ朝日/10ch/;
    $ch =‾ s/テレビ東京/12ch/;
    $ch;
}