動画というのは娯楽として非常に優秀です.その中でテレビは,時間とお金を書けて作られているので,なかなか優秀なコンテンツが多いです。といっても最近は,あまり面白いコンテンツが少なくなってきているように思います.ですが、映画はなかなか優秀です.
テレビで映画を見るためには,放映時間などを調べないといけません.ですが、 新聞を定期購読していなかったり、ネットで番組表を検索すると、地上波の番 組表にまじってBSの番組表がいっしょだったりして、なかなかうまくいきません。
当初の予定は,調べたテレビ番組表から、BSなどの情報を除く予定でした.
ですが,除く必要のない検索方法(検索サイト)を見つけてしまいました(^_^;)http://tv.yahoo.co.jp/search/?sgenr=06
プログラムは一番最後に示します.
- wgetでhtmlファイルを取得します。
- 出力先を標準出力します
- 出力をopen関数で、ファイルの読み込みと同様に扱います
- (上記の方法、詳しくはこちら)
- 見やすくなるように、加工します。
- 出力結果を、メールとして送信します。
実行例を以下に示します.一週間分の情報が表示されます。【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; }