2008
Feb
27th
一昨日のサーバ入れ替えの際に、電話に定期的にメールを送信するプログラムを移行し忘れて、ソースがどこにあるのかわからないので改めて書き直しました。これまでは HTML を無理矢理スクレーピングすることが多かったのですが、今や結構きれいなフォーマットでデータが取得できるようになっているなあと改めて思いました。書き直したのは以下の4つ。
1. setomail.py
http://matatabi.homeip.net/app/python/setomail.py
smtplib をラップしているだけです。 body には Unicode が来ることを想定しています。
2. ニュース
以前は時事ドットコムの HTML をスクレーピングしていたのですが、RSS - MSN産経ニュースの RSS を使うようにしました。楽ちんだし量も多いです。
http://matatabi.homeip.net/app/msnsankei.py
引数として、カテゴリを表す 'affairs', 'politics', 'economy', 'world', 'sports',
'entertainments', 'life', 'culture', 'release' のいずれか1つ以上か 'all' のどちらかと、1つ以上のメールアドレスを与えます。
3. 天気予報
以前は天気予報 気象情報 − goo 天気の HTML をスクレーピングしていたのですが、提供RSS - Yahoo!天気情報の RSS を使うようにしました。 goo 天気の RSS はその時の天気しか無くて話にならないし、RSSフィード一覧 - Weather Hacks - livedoor 天気情報の RSS は本当に古いのか更新時刻がおかしいのか、どうにも変な感じだしということで。降水確率が入っていないのが残念。
http://matatabi.homeip.net/app/python/yahooweather.py
引数として、カテゴリを表す '4410' などの地域コードを1つと、1つ以上のメールアドレスを与えます。地域コードは実際の天気予報のページの URL を見たら分かると思います。
4. JR東日本の運行情報
これは基本的に以前と変わらず、JR東日本:列車運行情報のあたりの HTML をスクレーピングしています。たまに表示が妙なこともあるのですが、実用上問題が無いのであまり調べていません。
http://matatabi.homeip.net/app/python/jreastcheck.py
引数として、エリアを表す 'tohoku', 'kanto', 'shinetsu' の中から1つと、1つ以上のメールアドレスを与えます。
追記 : 2008年2月29日
3, 4 のパスを誤っていたので訂正しました。
1. setomail.py
http://matatabi.homeip.net/app/python/setomail.py
smtplib をラップしているだけです。 body には Unicode が来ることを想定しています。
2. ニュース
以前は時事ドットコムの HTML をスクレーピングしていたのですが、RSS - MSN産経ニュースの RSS を使うようにしました。楽ちんだし量も多いです。
http://matatabi.homeip.net/app/msnsankei.py
引数として、カテゴリを表す 'affairs', 'politics', 'economy', 'world', 'sports',
'entertainments', 'life', 'culture', 'release' のいずれか1つ以上か 'all' のどちらかと、1つ以上のメールアドレスを与えます。
3. 天気予報
以前は天気予報 気象情報 − goo 天気の HTML をスクレーピングしていたのですが、提供RSS - Yahoo!天気情報の RSS を使うようにしました。 goo 天気の RSS はその時の天気しか無くて話にならないし、RSSフィード一覧 - Weather Hacks - livedoor 天気情報の RSS は本当に古いのか更新時刻がおかしいのか、どうにも変な感じだしということで。降水確率が入っていないのが残念。
http://matatabi.homeip.net/app/python/yahooweather.py
引数として、カテゴリを表す '4410' などの地域コードを1つと、1つ以上のメールアドレスを与えます。地域コードは実際の天気予報のページの URL を見たら分かると思います。
4. JR東日本の運行情報
これは基本的に以前と変わらず、JR東日本:列車運行情報のあたりの HTML をスクレーピングしています。たまに表示が妙なこともあるのですが、実用上問題が無いのであまり調べていません。
http://matatabi.homeip.net/app/python/jreastcheck.py
引数として、エリアを表す 'tohoku', 'kanto', 'shinetsu' の中から1つと、1つ以上のメールアドレスを与えます。
追記 : 2008年2月29日
3, 4 のパスを誤っていたので訂正しました。
Posted by setomits at 09:02 |
Comments: 2

