twitter で 多摩川調布橋観測所の水位をつぶやく bot があることが tweet されていました。
で、作成した人のブログが 『多摩川調布橋観測所の水位をつぶやくツイッター_botを作った』 です。
ん~、で、私も作ろうかなと。
となるとやっぱり、桂川の大月観測所だよね?
御岳はカヤックとして通年楽しめるので3時間おきに常にでもいいけど、桂川の場合はある一定以上の水位になっている間だけつぶやく実装がいいよね?
なんてことを思いつつ、上記、多摩川調布橋の bot のエントリーにある 『Twitterを100倍楽しむためのbot開発基礎講座』 を参考にする。 動作環境も違うしなかなか淡々粛々とは進まないけど、ちょっとばっか頑張って….
まず、アカウント作らなきゃ。大月…市役所調べると Otsuki って綴りなのか。多摩川 bot 作成者に敬意を払い Otsuki_WaterLevel でアカウント作ろうとするも長すぎ。
ん~、Otsuki_WaterLvl なら入るけど、もう少し縮めたい。
ん~、Otsuki_WtrLvl でいいや。なんか思うところがある方、変更するので早めに指摘してね。
水位は….『テレメータ水位 大月』 と 『大月 水位観測所』 があって、欠測のタイミングが違うっぽいので両方見ようかな。
web API なんて当然用意されてないので html から取得… 手抜いて正規表現で取得したいけど、DOM アクセスが一般的?ならそれで。
でも普段使わない言語だから苦労する….
ん~、エラーチェックもない乱暴なコードだけど、『テレメータ水位 大月』から取得して tweet できるようにはなったので、cron の設定をしてこのエントリーは、とりあえず公開。
@Otsuki_WtrLvl です。
でもまだテスト中。
今後の予定としては….
ぐらいかな。
頑張れ~おれ。でも エラー処理とかよくわからんぞ~。
これらの機能は実装できました。
ログを 10分間隔を出力してみていますが、
『テレメータ水位 大月』 と 『大月 水位観測所』とでは測定値のずれはない。というか 測定結果が反映される時間が 一緒なことがわかりました。毎時25分くらいに更新されてます。ってのと tweet 開始と終了の設定水位は、同じ値にすると微妙な上下で tweet したりするのでそれ避けるために 別に設定できるようにして tweet 開始水位 > tweet 終了水位 で設定するようにしようと思っています。実際には tweet 開始水位 1.80、tweet 終了水位 1.75 とかかな。
あと 水位だけじゃなくてもっとしゃべらせてよってリクエストをいただきました。
何点かの測定結果を最小自乗近似で傾き求めれば増えてる、減ってるがわかるなぁなんて考えています。これできると tweet 開始水位 < tweet 終了水位 もできるようになるよね。
2/23 19:00 追記
朝書いたのに置き換えました。ただ、『テレメータ水位 大月』よりも 『大月 水位観測所』の方が欠測が少ない感じなので後者のみで tweet します。値の取得は両サイトから取得してログに出力しています。
これは参考サイトにやり方かいてないのでペンディングに。