Hatena::ブログ(Diary)

はん(highemerly)の日記。

お知らせとか
(09.08.03)諸事情により移転をあきらめ中だったりします。
(09.08.01)ニコニコ動画に関する記事ばっか書いてるので、今後のニコニコ動画に関するエントリは「ニコニコ部@はてな」のグループ日記に移転する予定です。過去の記事は消しませんが、このダイアリーでニコニコ動画に関することを書くことはもうありません。

2009-04-05

ねとらじの新着番組をpostするだけのbotを作ったよ!

| 04:26 | ねとらじの新着番組をpostするだけのbotを作ったよ!を含むブックマーク

ニコニコTOPの広告の統計を取ってたのにレイアウト変更されたらたまんないよ!

さてさて、なんかTL上の皆さんがbotを作ってらっしゃるので、俺もbot作りたいわけですよ。

で、他に作る人が(将来的にも)いなさそうなbotがいいな、と考えてると、「ねとらじbot」が一番手っ取り早いわけですな。

ってことでとりあえず作ってみた。

ねとらじ新着bot http://twitter.com/ladio_headline/ (作者 @highemerly)

おおまかな仕様

  1. livedoorねとらじの新着番組をひたすらpostするだけ。将来的にこの方針は変えることは無いので安心してお使い下さい。
  2. 更新は2分おき*1
  3. フォーマットは『NEW: ラジタイ[ラジオのジャンル] 詳細URL』の形です。
  4. 新着番組の「選別」は一切行っていないので、すべての番組についてpostします。
  5. フォロー返しもできませんし、@返信していただいても何もしません。
  6. なお、全体的に説明の日本語が下手なのは@highemerlyの仕様なので苦情は受け付けておりません。

こんな使い方はどうでしょう?

普通に使う
  • フォローしていただければそれでOKです。
  • ただし、1番組1postします。流速があまり早くない方の場合、TLがねとらじ新着botで埋め尽くされる可能性がありますので気をつけて下さい。
RAZIE*2やDolphin*3を立ち上げるのがめんどくさいついったったーの場合
  • @ladio_headlineをフォローした上で、Tweenなどのクライアントでタブ隔離
  • Tween上で簡易Dolphinの出来上がり!
すべてのねとらじ番組を把握したい重度のねとらじ民だけど"非"ついったったーの場合

詳しい説明

使えないときは
  • ねとらじヘッドライン*5から、データを取得してます。つまりヘッドラインが落ちるとこのbotも落ちます。
  • 自宅サーバーで運営してますので、サーバーが落ちてるときは使えません。落ちないよう努力します。
  • 総番組数をねとらじTOP*6から取得しています。そのため、ねとらじTOPのweb構造の変更があったり、TOPページが落ちてるときは使えなかったりするかもしれません。
  • botが変な動きをしてる場合は、@やDで作者に教えていただけると助かります。
ねとらじヘッドラインから、この番組が"新番組である"と判断する方法について
  • Dolphinの"新番組判定"とは全く異なる方法で新番組である、と判断しています。そのため、Dolphin(の初期設定)で"新着番組"と判断される番組とは異なる場合が多々あります。
  • 具体的には、新着番組をヘッドラインの開始時刻のみで判断します。
  • よって、以下のような番組は、Dolphinでは新着番組扱いされますが、このbotでは新着番組扱いされません。
    • ラジオを1時間程度放送したところで、DJ側のPCの不具合やねとらじサーバーの不具合で放送が切断される
    • DJがすぐに同じ設定(サーバー・マウント)で再開する
    • ヘッドラインにのる"メタデータ"(フォーマットデータ)がそのまま引き継がれ*7、放送開始時刻に今の時刻ではなく先ほど放送を開始した時刻が表記される。
  • このようなケースは実際にねとらじを視聴していると意外と多いのです。しかしこれを新着番組扱いすることはないだろう、と判断したため、意図的にこのような仕様にしてあります。意見がございましたらがんがんおっしゃってください。
その他
  • radioじゃなくてladioなのは仕様です。詳しくは、wikipediaの"ねとらじ"の項を参照して下さい。

To Do

  • 140字制限にひっかかる恐れがあるときに、ジャンルやラジタイを省略し、URLを切れないようにする(優先度:A+)
  • 同じ番組を2度postすることがないようにする(優先度:A)
  • 総番組数をねとらじTOPから取得してるというよくわからん状態をどうにかする(優先度:B)
  • 更新を1分おきにする(優先度:B)
  • 全番組をpostする必要があるかどうか考える(タイトルもジャンルも空白の放送など)(優先度:B)
  • 文字数に余裕があれば、ラジオの「放送内容の説明」や「マウント」「曲名」もpostする(優先度:C)
  • 取得漏れを防ぐ(優先度:C)
  • まともなアイコン画像を募集する(優先度:C)
  • 万が一ねとらじが落ちたときでもbotが冷静に対応できるようにする(優先度:C)

最後に

正直なところ、"twitter-er"かつ"ねとらじ民"である方はかなり少ないと思ってます。

そのため、おそらくこんなbot使う人いないだろうな、と思っていますw

しかし、今後も皆さんの意見を聞きながらねとらじbotを作っていこうと思いますのでよろしくお願いします。よかったら@ladio_headline、フォローしてくださいね。

また、今回のねとらじbotを作成するに当たって、以下のwebサイトをかなり参考にさせていただきましたので、リンク貼っておきたいと思います。

ねとらじヘッドライン取得ツール開発資料 http://hp.vector.co.jp/authors/VA023856/Supplement/HeadlineTool.html


脚注

*1:将来的には1分おきにする予定。cron使うと2分が限度だったので、他の方法探して来ます。

*2http://kotaro.moo.jp/ 開発中止、現在は公開も中止している模様。

*3http://wiki.livedoor.jp/ladio_staff/d/Dolphin 公式ツールが出来たので、今から聞かれる方はこちらがオススメ。

*4:livedoorReader http://reader.livedoor.com/reader/ や GoogleReader http://www.google.com/reader/ などが有名なので、導入して無い人はこの機会にぜひ。

*5http://blog.livedoor.jp/ladio_guide/archives/13607162.html で公開されてる。今回は新フォーマットのgzip圧縮版を利用。

*6http://ladio.net/

*7:これはねとらじサーバー側の仕様。このようなケースのメタデータが引き継がれるか引き継がれないかは、サーバーの気分で決まるっぽい。