社会人になって数年も経つと、オタク趣味を続けるのも大変になってきました。
以前はいくらでも音楽の情報を追って遊んでられていたのですが、そこそこ真面目にプログラマーやろうとすると「あのグループって今は活動してるんだっけ?」とか「知らないうちにアルバムいくつも出してた」とかあります。
Google Apps Script(GAS)とSpreadSheetsを使って、「簡単なURLと正規表現の設定で、最新のニュース告知をクローリングして通知する」ようなスクリプトを実装しました。
正規表現を使ってパースしているのは、「必ずしもRSSやATOMを用意しているページばかりではない」「GASのXMLServiceが必ずしもHTMLを読み込めない(エラーを出すこともある)」ためです。
こちらの記事のプログラムを全面的に真似しています。
実装は参考になるものがあったので、ほぼ苦労せずにできたのですが、
- 声優の上坂すみれさんの公式サイトがEUC-JPで、デフォルトの文字コード(UTF-8)で読み込むと文字化けしていたため、急遽文字コードの指定を追加した
- 急にエラーを吐き始めると対処できないため、「skip列に文字列が入っていたらスキップ」するような処理を追加した
- これはテストコードとかによくある機能を真似しました
GASも、JavaScript(ほぼ構文が同じ)もあまり詳しくし、運用も始めたばかりなので微妙な点もあるかもしれません。特にエラーが発生したとき、次回実行は自動でスキップする設定が欲しいです。あと、GASでも開発ツールがないと、テストコードも無くprintデバッグしか選択肢が無いのも辛いことを実感しました。
折を見て修正していこうと思います。