【Ruby】形態素解析、ビジュアリゼーション、スクレイピング
この記事は ジーズアカデミー Advent Calendar 2017 の2日目です。
はじめに
ウェブスクレイピングは結構好きで、主にrubyを使ってスクレイピングしているんですが、 blogでは python(記事リンク) しか書いたことがない。
なので、今回は
ruby でスクレイピングして形態素解析してビジュアリゼーションしてみます!
対象
せっかくなんで、今回はジーズアカデミーのサイトをスクレイピングしてみます。
画像
抽出項目
分量が多いほうが良いいので、トップページ下にある
記事全てを取得します!
実行準備
利用ライブラリ
主なライブラリは以下の通りです!
- db: activerecord nokogiri
- スクレイピング: open-uri nokogiri
- 形態素、ビジュアル: mecab-ipadic-neologd natto magic_cloud
を利用します!
手順
手順は以下の通りとなります。
- open-uri を用いて、トップページを取得し、記事リンク取得
- 取得したリンクをopen-uriでページ取得、nokogiriを用いて記事ページを取得し、ActiveRecordでDBに保存
- 形態素解析を用いて英単語(magic_cloud との関係か?日本語の相性がうまくいかなかった汗)をビジュアル化
実行!
スクレイピング
取れた!
形態素〜ビジュアル化
だらだら、色々とやってたのですが、今回はビジュアルだけにしておきます。
ソースコード
ココのレポジトリにおきました!
終わりに
スクレイピングはpythonが現状優勢ではありますが、慣れているのでrubyは書きやすい! 何より、スクレイピング特有の複雑な条件式やエラーハンドリングに対応しやすいのが良いな〜と改めて感じました!
本日は以上です!