drag n drop

調べたことを書きます

bashスクリプトを書いてみた

 目標:天気を表示させる

 

やり方を考える

・webAPIを叩いてjsonxmlを取得して、パースしてアイコンやテキストに変換

 →これは実装が複雑で面倒

・天気予報を出してくれるコマンド(weather-util, bash-weather)

 →試してみたが、国別・有名都市しか表示されなかった

コマンドラインでhtmlを直接表示することにした

さいたま市の天気を表示する

 

使う天気予報サイト

日本気象協会 / 大きい字の天気予報 | トップページ

画像が多かったり、レイアウトが複雑だったりすると、

コンソール上での表示が乱れるので、

文字しかないサイトを選んだ。

さいたま市(埼玉県南部)のページ:

http://barrierfree.on.arena.ne.jp/barrierfree/data/yohou/4310.html

 

コマンドラインからwebサイトを表示できるコマンドをインストール

$ sudo yum install -y w3m

 

スクリプトを作成

$ nano weather

w3m http://barrierfree.on.arena.ne.jp/barrierfree/data/yohou/4310.html | cat

$ chmod +x weather

$ ./weather

日本気象協会 大きい字の天気予報
天気予報
4月3日5時00分更新・最新の情報をお伝えするために、常に再読み込み(更新)をおこな
ってください。
前のページに戻るときは、ブラウザの「戻る」ボタンを選択してください。
_    埼玉県南部

    今日
    晴れのち曇り
    最高気温 25℃
    降水確率
     6時から12時 10%
    12時から18時 30%
    18時から 0時 30%

    明日
    曇り
    最低気温 13℃
    最高気温 16℃
    降水確率
     0時から 6時 10%
     6時から12時 10%
    12時から18時 10%
    18時から24時 10%

    明後日
    曇り
    最低気温 8℃
    最高気温 22℃
    降水確率
    40%
              | 全国インデックスに戻る |

 

ヘッダとフッタを削除する

$ nano weather

w3m http://barrierfree.on.arena.ne.jp/barrierfree/data/yohou/4310.html | sed -e '1,7d' | sed -e '$d' | sed -e '$d'

 $ ./weather

_    埼玉県南部

    今日
    晴れのち曇り
    最高気温 25℃
    降水確率
     6時から12時 10%
    12時から18時 30%
    18時から 0時 30%

    明日
    曇り
    最低気温 13℃
    最高気温 16℃
    降水確率
     0時から 6時 10%
     6時から12時 10%
    12時から18時 10%
    18時から24時 10%

    明後日
    曇り
    最低気温 8℃
    最高気温 22℃
    降水確率
    40%

 

おわり

 

参考:

第19回 あえてターミナルを使う(2):作業環境としてのターミナルw3m, screenなどの利用:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

逆引きUNIXコマンド/sedで指定した行を削除する方法 - Linuxと過ごす

sed コマンド | コマンドの使い方(Linux) | hydrocul のメモ