【Ruby】形態素解析、ビジュアリゼーション、スクレイピング

この記事は ジーズアカデミー Advent Calendar 2017 の2日目です。

はじめに

ウェブスクレイピングは結構好きで、主にrubyを使ってスクレイピングしているんですが、 blogでは python(記事リンク) しか書いたことがない。

なので、今回は

rubyスクレイピングして形態素解析してビジュアリゼーションしてみます!

対象

せっかくなんで、今回はジーズアカデミーのサイトをスクレイピングしてみます。

画像

f:id:jesushill:20171202175205p:plain

抽出項目

分量が多いほうが良いいので、トップページ下にある

f:id:jesushill:20171202175230p:plain

記事全てを取得します!

f:id:jesushill:20171202175419p:plain

実行準備

利用ライブラリ

主なライブラリは以下の通りです!

を利用します!

手順

手順は以下の通りとなります。

  • open-uri を用いて、トップページを取得し、記事リンク取得
  • 取得したリンクをopen-uriでページ取得、nokogiriを用いて記事ページを取得し、ActiveRecordでDBに保存
  • 形態素解析を用いて英単語(magic_cloud との関係か?日本語の相性がうまくいかなかった汗)をビジュアル化

実行!

スクレイピング

取れた!

f:id:jesushill:20171202180146p:plain

形態素〜ビジュアル化

だらだら、色々とやってたのですが、今回はビジュアルだけにしておきます。

f:id:jesushill:20171202180509p:plain

ソースコード

ココのレポジトリにおきました!

終わりに

スクレイピングpythonが現状優勢ではありますが、慣れているのでrubyは書きやすい! 何より、スクレイピング特有の複雑な条件式やエラーハンドリングに対応しやすいのが良いな〜と改めて感じました!

本日は以上です!