トップ «前の日記(2021-02-24(Wed)) 最新 次の日記(2021-03-04(Thu))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2021-02-27(Sat) 晴れててもいやに冷たい風

天気予報

気象庁のWebサイトが変わり、以前運用していたシェルスクリプトでは、 天気予報をメールすることができなくなっていた。

#!/bin/sh
URL='https://www.jma.go.jp/jp/yoho/331.html'
WCOLS=24
DIR=$DIR
TITLE="`echo 天気予報|nkf -w`"
wget -q -O - $URL | \
sed -ne '/<caption/, /<div id="explain">/'p | \
sed -f ${DIR}half_all.sed | \
w3m -dump -T text/html -cols $WCOLS | \
sed -f ${DIR}form.sed  | \
sed -f ${DIR}ctrl_nr.sed | \
nkf -w  | \
s-nail -A $MAILSERVER -s $TITLE $MAIL_ADDR

JSONで取得できる話を聞いて、少し試す。
エリアのサイトを見て、適当なURLをアクセスする。
見るべきところは 27000.jsonらしい。

wgetとpython3スクリプトとs-nailで処理することとする。

データの解析出力はpython3にやらせる。
適当に検索したところ、リストとディクショナリと解釈するらしい。
dumpsにかけると、全部文字列になってしまう、らしい。
手を焼いたことのひとつに、日本語のエンコードがあった。
あれこれ試して、複数の{hoge: [foo, bar], fuga:[fuzz, buzz]} を含む形で切り出すと、\hogehoge が交じるらしい。
消すなら最終データまで指定してやるか、さもなくばjson.dumpsに ensure_ascii=Falseを添えてやればいいらしい。
このあたり、やったのは昨日だったせいか、ほとんど記憶 してなかったり。

From: みおから $SENDER_MAIL_ADDR
To: $MY_MAIL_ADDR
Subject: 2月27日の天気予報
Date: Sat, 27 Feb 2021 10:03:37 +0900
User-Agent: s-nail v14.9.11
 
今日の天気は 晴れ 時々 くもり
今日の風 北東の風 やや強く 海上 では 北東の風 強く
今朝の最低気温は 11  ℃,, 日中の最高気温は 11 ℃
 
雨の降る確率:  6時-12時は 0 %です
雨の降る確率: 12時-18時は 0 %です
雨の降る確率: 18時-24時は 0 %です

もう一つ。スクリプトをgithubにあげるために、個人情報を 環境変数にして、別ファイルに逃がす方法。
どうやら ~/.bash_profileに書いておいて(不正侵入で狙われる可能性を考えると、 これも良くなさそう)、 スクリプトを #/usr/bin/bash -l にすればいい、らしい、さしあたり。

あとcron。$HOMEしか見てくれない。
Working Directryは指定できるが、python3が読み込むべきファイル は、さしあたり$HOMEに置くしかなさそう。
wget に --quiet を付けてないと、標準出力をいちいちメールしてくれる。

タブレットでコマンドライン

bashのキーバインドCtrl-a(左端へ)、Ctrl-e(右端へ)は覚えていたが、 打鍵の面倒な環境では、Ctrl-i(補完)、Alt-b(単語単位で左)、Alt-f(同、右)も。

任意のキーを、キーボードを見ずに叩けるPC+キーボードは、やはり楽。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。