アシアルブログTweetはじめまして、江口です。機械学習やらAIやらtensorflowやらで最近耳にすることが増えたと思うPythonについての記事です。先日書店でも並んでいる本が殆どRやPythonばかりで、機械学習の盛り上がりが伝わってきました!今回はネタですが、以下の技術を使って、アシアルブログの頻出単語ランキングを算出して円グラフ化してみました。下記ソースコードにも記載してあるのですが、アシアルブログのTOPページ(http://blog.asial.co.jp/)から「/[0-9]{4}」形式のリンクのみをスクレイピングで抽出し、ブログの詳細記事をクローリングして全てのブログ記事からBODYタグを抽出して、さらにそこから全角の一般名詞のみを抽出してます。最終的にTF解析で上位10件を円グラフで頻出単語ランキングとして表示させています。OnsenUIの効果でしょうか。「温泉」が1位の143個でした!2位の「アプリケーション」は汎用的すぎて弾いても良かったですね^^;コンポーネントは最近は宇都宮さんのブログでvuejsの「コンポーネント」が結構目立ったのだと思います。・TTF_PATHは人それぞれ場所が異なります。script.extract()で救いきれないscript今回は一般名詞だけ集計したかったので、スクレイピング結果からscriptタグに関する記載は除外したかったのですが、完全には救えず。そのため、苦しい感じではありましたが、「全角の単語に絞ろう」という逃げに走りました。unicodedata.east_asian_width(uniStr)pythonの標準モジュール「unicodedata」にある「east_asian_width」関数を使って、対象の文字が全角かどうかを判定することで回避することにしました!https://docs.python.jp/3/library/unicodedata.html標準でも随分リッチなことが手軽にできて便利だな〜。除外対象単語ソースコードに思いっきり「EXCLUDE_STR_LIST」って羅列しているのですが、mecabで使う辞書をカスタマイズすればもっとスマートに管理できるのだろうなと思いました!今回はネタということで。matplotlibの日本語ラベル豆腐問題これが地味に一番ハマりました。matplotlibを標準デフォルトのまま使うと、日本語ttfファイルがlib下に存在しないため、いわゆる豆腐問題「□」に陥りました。fontproperties=prop)とすることで、plot時に日本語フォントを見るようにして解決しました。pythonのversion今回はlocalのmacでサクッとやってたのですが、当初考えなしにpythonいじってたらmacのデフォルトのpythonのversionが2系だとわかり、急遽環境を整えることにしました^^;そこで今回チョイスしたのはanacondaです。anacondaにはpythonの開発に必要なモジュールが一通り揃ってますので、楽チンでした。~/.bash_profileでmacで扱うpythonをインストールしたanaconda下を見るようにしました。「spyder」というアプリケーションを立ち上げますと、pythonのIDE(統合開発環境)が起動します。今回の円グラフもspyder上のconsole(IPython)で実行、表示させたものを貼り付けてます。spyderでの作業風景はこんな感じです。▼最後に・・・そもそもの話ではありますが、ランキングって円グラフで見せるものなんですかね?^^;バ〜っと作りきってから、ふと思ってしまいました。Pythonには数値を簡単に扱うライブラリが豊富なので、「あ、これやってみたい」が驚くほど手軽にできてしまうのが魅力だなと感じました。byスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。