読者です 読者をやめる 読者になる 読者になる

阿澄病治療薬を作った

twitter プログラミング

みなさんさようなら、阿澄病です。

実は先日、阿澄病にかかりまして(ゴホッゴホッ

治る見込みがないそうなんですね。

もう生きるのが辛くて辛くて(ゴホッ

治療薬を探したのですが、なかなかいいものがなくて……

すみません、嘘です。

阿澄病になったのは4年ほど前です。

治る見込みは、もうありません。

えーと、そういうわけなので、阿澄病患者のために阿澄動画を毎日つぶやいてくれるbot、作りました。

阿澄病なう】

http://twitter.com/asumi_syndrome

ちなみに、阿澄病患者というのは……声優、阿澄佳奈の声に毒されて、彼女の声を聞かないと生きていけなくなった気持ち悪い人たちのことです。

ニコニコ動画に、「うp主は病気」とか「病院に行け」とか「上級者向け」ってあるじゃないですか。

阿澄動画に関して、アレの常連となったと人たちが、「阿澄病」となります。

なんとニコニコ動画には「阿澄病」タグもあります。

そんな、阿澄病患者だって包帯を変えて欲しい!

いつまでも同じ動画ばっかりじゃ飽きてくる。

でも声を聞かないと生きられない。

だから、大海原へ出ていくしかないんです。

でも、毎日阿澄佳奈動画をいろんなところで検索して、新着動画を見つけ出すのも大変!

というわけで、【阿澄病なう】はYoutubeニコニコ動画から、新着の阿澄動画を探しだしてきて、つぶやいてくれます。

話しかけると、ストックしてある動画DBからおすすめの動画を教えてあげます。

■つぶやき仕様

・1時間に一回、人気の阿澄動画をつぶやきます。

・たまに新着動画をつぶやきます(毎日そんなに大量にはないので)。

・話しかけるとオススメの動画を返します。

・フォロー返しは適当に(しかし自動でやります)。

■今後の実装予定

・つぶやきの際、動画の存在チェック

著作権的な問題で消されるものも多いので……

むしろこの辺、動画自体をキャッシュしてしまえば……俺が著作権的に危ないかも!

あと、サーバの容量が絶対足らなくなる。

・リプライで動画URLを飛ばした時に、その動画をDBに登録する

何かご意見などございましたら、お願いします!

台詞は増やすと思います。

その前に、増やせるような機能を追加しないと。

動画のDBが今、3500件あるのですが、これをリプライにしか使っていないので、もしかしたら別の使い方をしたほうがいいかもしれない。

なんか、自分で作っておきながら、知らない動画いっぱいで見るのが楽しいです。

--

ちょっと技術的なお話。

Ruby on RailsMySQLで作っています。

Youtubeの動画検索はこのあたりが参考になりました。

https://developers.google.com/youtube/2.0/developers_guide_protocol?hl=ja&csw=1

さすがgoogleが作っているだけあって、APIの性能はいいですね。

アクセス制限はないし、ログインせずとも使えます。

ただ、検索機能そのものがあまりよろしくなくて、Youtubeって結構関係ない動画も結果に含まれますよね。

あと、重複がかなりある。

そういうのをはじくと、やっぱりあんまり件数がない。

そもそもYoutubeって、こういう濃い患者向けの動画って少ないのかもしれません。

ニコニコからの転載も多いしね。

ニコニコ動画の検索については、このあたりが参考になります。

http://qiita.com/sampleb3/items/f75173167e22fbbe4d90

ニコニコは動画はすごく多いし、タグ付けがしっかりしているのでノイズが少ない。

そのあたりは最高なのですが、検索APIがイマイチ。

まず、1ページの動画数は32件、全部で50ページしか取得できません。

つまり1600件以上の検索結果については対応できない。

そしてアクセス制限がある。

正確な時間は測っていないけれど、5ページ取得すると、制限にひっかかりました。

30秒間隔を開けてもはじかれたので、1分ごとにして実行しました。

一度に大量の検索結果を取得するときは、5ページごとに1分くらい間隔を開けて、区切らなきゃダメでした。

あと、twitterAPIからツイートのIDを取得したら、平然とintの上限を超えてて、DBに保存できなくて笑った。