Subscribed unsubscribe Subscribe Subscribe

SE Can't Code

A Tokyo based Software Engineer. Not System Engineer :(

Androidアプリの特徴ワードをGooglePlayから抽出する.

Androidアプリの特徴となる単語を抽出するためにGooglePlayサービスに対してスクレイピング処理を行う。
Androidアプリにはパッケージ名というアプリを一意に識別する値が文字列として与えられており、GooglePlayのプラットフォームに対するクエリにパッケージ名を投げるとアプリ情報のページが返ってくる。そのアプリ情報のページのHTML文の中から説明文のみを抽出すれば、アプリを特徴づける単語を抽出することが可能となる。今回もBeautifulSoupでスクレイピング処理を行い、取得したHTML文から説明文のみを抽出するようにパースし、あとはMeCabを用いて名詞とその出現回数を抽出している。

GooglePlayの説明文だが、show-more-content text-bodyというタグが対象となる。これはGooglePlayの仕様が変われば使えなくなるため変更の際は適宜対応する必要がある。


instagramFacebookを対象に特徴単語を抽出すると以下のようになった。

sot0:to_blog sotoshigoto$ python getAppDescription.py 
URL:https://play.google.com/store/apps/details?id=com.instagram.android
写真 6
コンテンツ 4
動画 4
友達 4
Instagram 4
ユーザー 3
こと 3
フォロー 22
簡単 2
クリエイティブ 2
世界中 2
シェア 221
編集 11
アスリート 1
直接 11
調整 1
カスタム 1
ファッション 1
チェック 1
filters 1
アート 1
非公開 1
Facebook 1
アクセス 1
=====================================================================
URL:https://play.google.com/store/apps/details?id=com.facebook.katana
友達 9
こと 7
Facebook 7
自分 6
投稿 6
情報 5
あなた 5
ニュース 5
プロフィール 4
簡単 4
災害 3
写真 33
近況 3
報告 3
アプリ 3
家族 3
公開 3
確認 3
グループ 3
イベント 3
フィード 32
ビジネス 2
機能 2
コメント 2
設定 2
以上 2
Messenger 2
=====================================================================


instagramは写真、Facebookは友達といった特徴となる単語が抽出された。

このように特徴単語を抽出したいと言った場合、プラットフォームがあるサービス上に存在するものであれば、そのプラットフォームのHTMLを解析してあげると容易に抽出が可能となる。ただ注意しないといけないこととしては、スクレイピング処理の場合は必ず押さえないといけないんだけれど、robots.txtを読んでスクレインピングの制限というものを確認しなければならない。下手するとスクレイピング先のサーバーに負荷を掛け過ぎて訴えられるというケースもあるため、モラルのある対応をすることを心掛けることは大事である。

Remove all ads