detourist

あちこち調整中。不具合はご容赦下さい。

携帯版NHKニュースのヘッドラインおよび記事本文を取得し、新着記事をメールで送信するPHPスクリプト。

テレビは点けないし、新聞は取っていない、Webニュースの巡回すら億劫だという(筆者のような)人間でも、これを携帯に送るようにしておけば、移動時間や休憩時間を使ってニュースチェックできますよっと。

【注意】 以下のコードでは、不具合によりバックスラッシュが表示されていないので注意。(紺色太文字で表示されている“n”の前に入る。)(スタイルはちゃんと適用されるのに、なんで表示されないかなぁ・・・)

【使用方法】 1.自身で利用可能なサーバマシンにこのスクリプトを設置し、2.キャッシュファイルを作成、3.cronで定期的に実行するように設定。

PHP
<?php
	//変数初期化
	$root_url = "http://www3.nhk.or.jp/knews/";
	$mailto = "<MAIL ADDRESS>";
	$output = "";
	//エンコード設定
	mb_language("Japanese");
	mb_internal_encoding("EUC-JP");
	mb_detect_order("ASCII,UTF-8,EUC-JP,JIS,SJIS");
	//キャッシュファイル指定(※パーミッション注意)
	$f_name = "cache_list.txt";
	//ファイルの内容を1行ごとに配列に格納
	$cache = file($f_name);
	$cache = array_map("trim", $cache); 

	//ニュース一覧を取得
	$data = file_get_contents("$root_url");
	$data = mb_convert_encoding($data, "EUC-JP", "auto");
	$pattern = '/(t[0-9]+.html)/is';
	preg_match_all($pattern, $data, $matches);

	//個々の記事を取得
	foreach( $matches[1] as $match ){
		//キャッシュに無ければ、記事を取得
		if(!in_array($match, $cache)){
			$url = $root_url . $match;
			$data = file_get_contents($url);
			$data = mb_convert_encoding($data, "EUC-JP", "auto");

			$pattern = '/<body>(.*?)<div/is';
			preg_match($pattern, $data, $matches);

			$body = $matches[1];
			$body = "◇". $body;
			$body = preg_replace('/<br><br>/', "n◇", $body);
			$output .= $body;
			$output .= "nn";
		}
		$new_cache[] = $match;
	}
	$new_cache = implode("n", $new_cache);

	//キャッシュファイル更新
	$fp = fopen($f_name, "w+");
	fwrite($fp, $new_cache);
	fclose($fp);

	//メール送信
	if($output!=""){
		$sbject = "NHK News";
		mb_send_mail($mailto, $sbject, $output, $headers);

		echo("Mail Sended.n");
	}else{
		echo("Null.n");
	}
?>
  • 0 Comments
  • Filed under: PHP
  • 筆者が携帯電話を持つようになったのは高校卒業の年の年明け。当然、地元エリアの地域会社と契約し、こちらに越してきてからも請求書(口座引き落とし通知書)は地元の地域会社から発行・郵送されている。

    先日、その請求書に同封されていたリーフレットに次のようなお知らせが。

    請求書同封物の内容変更について
    これまで請求書に同封されているチラシやリーフレットは、ご契約いただいた地域の情報をお届けしていましたが、よりお客様に身近な情報をお届けするために、お客様の請求書送付先地域向けの内容に変更しました。

    一般的には妥当な措置であるのだろうけど、個人的には、田舎の近くの「どこそこでの通話品質が改善されました」みたいなニュースを楽しみにしていただけに、残念である。(かと言って、わざわざWebで閲覧するほどの情報でもない)。たぶんこれからは、読まずに食べる(意訳:ゴミ箱に直行)ことになりそうだ。

     

  • 0 Comments
  • Filed under: docomo
  • 1日のTXダイヤ改正に伴い、筑波大学循環バス(大学~センター間を走る他路線のバスも含む)からTXへの乗り継ぎ時刻表を更新。これで時間ギリギリまで寝ていられるよ!w

    ただし、上り(バス→TX)のみ。

     

    【掲載ダイヤ】

    TX:2008年10月1日改正
    高速バス:2008年7月1日改正

    【利用上の注意】

    ・到着時刻は出発時刻から算出しているため、実際の時刻と異なる場合があります。
     (ごく一部に限って、手作業で修正していますが。)
    ・平日の高速バスは「都営浅草駅」到着予定時刻なので注意。

    【覚え書き】

    ・朝のバスは遅れることが多いので注意。
    ・TXの普通も掲載しているものの、ほとんどの場合、後発の快速・区間快速の方が早く着く。

    【お約束】

    ・この時刻表を利用した結果生じたあらゆる損害に対する責は負いかねますのでご了承ください。

  • 0 Comments
  • Filed under: つくば, 交通
  • Recent Comments