khondalitのブログスマートフォン用の表示で見るkhondalitのブログ2015-12-10WebサービスをRailsで1週間程度で作ってみた:技術編1さて、前回の続きです。khondalit.hatenablog.com今回はスクレイピングに必要なYoutube周りの話となります。作ったサービス落語の動画をまとめています。開発したいものは前回に決めているので、まずは技術の選定から。フレームワークSinatoraとか他にも使ったことのあるフレームワークはいくつもありますが、仕事の延長もあってRailsを選択しました。このレベルだとちょっとフルスタックすぎる気もしますが、gemもRails前提が多いですしね。Ruby以外のフレームワークもありですが、Ruby以外だと過去互換性が弱い言語やセキュリティがアレだったりしますし...個人開発ですと、なるべくメンテが少ないほうが嬉しいです。仕事だと毎日時間を使えますけど、そこまでコストは掛けれないですし。Ruby、Rails界隈はアップデートが多いのですが、このサイト自体は機能的にかなり少ないですしテストを書く余裕もあるかと思います。DataBase個人だとPostgreSQLを使うことも多いのですが、今回はMySQL。これはレンタルサーバーとかまで考えるとまだまだMySQLが強いですしね。サーバはじめはHerokuを考えていましたが、Sqaleを選択しました。Herokuは制限が多かったりしますが、Sqaleは日本語というのも大きな理由。Sqaleはメール使えないとかメモリが少ないとかありますが、まあさほど大きくないサービスですしこれで良しとしましょう。MySQLを選択したのもSqaleも影響しています。個人開発だとこれぐらいのサーバーで動作するのを前提にアイディアを出したほうが良いかもしれません。風呂敷を広げても完成しませんし、制限がある前提で考えるぐらいで調度良かったです。Gem今回のメイン機能はYoutubeAPIです。YoutubeAPIを使用するGemはyoutube_itが有名だと思います。github.comただ最終更新が1年以上前で、現状のYoutubeAPIでは使い物にならないようです。代わりのGemを探していた所Ytというのを見つけましたので、ありがたく採用することに。ConsoleからYoutubeDataAPIのキーを所得しておきましょう。検索も非常に簡単です。video.idendIDから取得IDが分かっていれば動画単体でも取得できます。video.description詳しい使い方はこちらからfullscreen.github.ioこれでYoutubeからスクレイピングする準備が整いました。あとは、落語家名なり演目名なりでひたすら検索、DBへの保存を行えば良いでしょう。今回大変だったのはyoutube_itが死んでいたことです。このGem数年前に試しに使ってみて問題がなく普通に使えていたのですが、久しぶりに使ってみるとまったく動かず対応するのにそれなりに時間を使いました。Gemの便利な所でもあり不便な所でもありますね。PaaSなSqale年も開けて1ヶ月経ちます。仕事しているとドキュメント大事ですよね。静的サイトゲネレータをNanocからMiddlemanへ乗り換えましたRails4系からRails5へのアプデ月別アーカイブはてなブログをはじめよう!khondalitさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。