狐に騙され覚書

あぁこれ便利だなってことを忘れてもいいように覚書。主にプログラミング言語主体ですよ。

NHK_ReqAnswer を作った話

どこかの記事でふと、NHKが番組APIを公開しているみたいな話を見て、なんとなしに何か作れないかなーっと思って作りました。

https://twitter.com/NHK_ReqAnswer

 

【使い方】

1. NHK_ReqAnswer に follow してもらいます。

2. 検索したい単語と、ハッシュタグ(#nhk_reqanswer)を付けてつぶやきます。

3. 10分に一度くらいの割合で、今の時刻から最も近い時間に始まる番組 3つがリプライされます。

 

こんな感じです。

実は 1. の部分は自動的に follow する仕組みを実装していないので、reqest 増えてきたらやらなきゃなーと思っているところではあるのですが、とりあえず今のところ手動です。

3. の部分は、NHK一般、教育、衛星の順に検索しに行きます。

もし教育テレビだけで探したければ、ツイートに -E と付けてください。

  • -G:NHK一般から検索
  • -E:NHK教育から検索
  • -S:NHK衛星から検索

例えば教育テレビから「将棋」というキーワードを持つ番組を検索したい場合、

将棋 -E #nhk_reqanswer

とすると、例えばこんな感じで返ってきます:

@_c_hase 将棋フォーカス「4五角戦法に対抗しよう」 (e1: 2014/02/09 10:00-10:30) 第63回 NHK杯テレビ将棋トーナメント「準々決勝・第2局」 (e1: 2014/02/09 10:30-12:00)

 

【システムの中身】

NHKAPIを使うと、当日分とその翌日分の番組表が json 形式で取得できるので、

その中からタイトルとサブタイトルにツイートの文字が含まれるかどうかを見て返しているだけです。

細かい部分でチューニングしたりしていますが、基本的に難しいことをしていなかった気がします。

ソースは全然リファクタリングとかしていなくって読みにくいこと必至ですけど、一応 github にあげていたりします。

https://github.com/chase0213/ReqAnswer

 

---

NHK番組表API

http://api-portal.nhk.or.jp/

python-twitter

https://github.com/bear/python-twitter