無駄ツールに隠されたロマンを探し求めて…
LINE LIVE 配信監視ツール
ラインライブの特定の人が配信を開始したときに自分の LINE Notify に通知が来るようなツールを開発した。
正直用途不明、誰得なツールではあるが自分の Python 勉強用に作っただけである。そして作ったからには公開すべきであろうという思想のもと、ここにコードを晒す。
動機
ある日、スクレイピング・ハッキング・ラボを読んでいた。
読んだからにはなにかスクレイピングを使ったことをしたいと思った。さらに、この中に「Python から LINE で更新内容を通知する」という項目があった。これを見た自分は「何かイベントが起きた時に LINE ですぐ通知してくれるツールとか作るとなんか良さげではないか」と思ったのである(そのままやんけ)。
次は「何のイベントが起きた時」に通知を出すかである。そこでまず思ったのは LINE LIVE であった。LINE LIVE には B リーグの横浜ビー・コルセアーズの公式アカウントがあったからである。そうと決まれば早速作ろう、「ビーコルがラインライブを開始したときに LINE で通知してくれるツール」を。
説明
ざっと説明すると以下のようになる。
- 配信者のチャンネルページをスクレイピングする
- レスポンスの中にライブ中とわかる情報があればそれを元に判定を行う
- ライブ中であれば LINE Notify を使って通知を送り、そうでなければ3分前後待つ
- 1 に戻る
ちなみにライブ中とわかると2時間監視を停止するようにした。でないと3分ごとに同じ通知が来て鬱陶しいからである。「ライブ中とわかる情報」については、LINE LIVE の配信者チャンネルページのソースとにらめっこした結果、どうやらソースの isBroadcastingNow
という箇所が true
となっていればライブ中ということがわかった。API とかはなさそうだったのでソースとにらめっこ、だいぶ力まかせな方法をとらせてもらった次第である。
感想
まだ作って間もないから正常に動くかわからないでござる…というのは置いとくと、これはかなりいい感じに監視してくれるのではないかと期待している。PC で動かすほどでもないと思うならば、消費電力の少ない Raspberry Pi 上で動かしてもよいだろう(というか常時動かすならそっちのがいい)。
問題
「それって LINE LIVE のアカウント登録してフォローすれば勝手に公式の通知くるよね?」に対する返答を5字以内で答えなさい。
解答例: そうだね(4字)