こんにちは、ミナピピン(@python_mllover)です!
今回はGoogleプレイのアプリのレビューをスクレイピングで取得する方法についてまとめていきたいと思います。
google_play_scraperのインストール
いつも通りPIPでインストールします。
# ライブラリのインストール $ pip install google-play-scraper
Gitドキュメント⇒https://github.com/danieliu/play-scraper#details
pypl ⇒ https://pypi.org/project/google-play-scraper/
PythonでGoogleplayストアのアプリレビューをスクレイピングする
検索の上限は20×page数(12)の最大240件です。全カテゴリーのアプリ情報を欲しい、という場合はSeleniumを使うしかないかと思います。
import play_scraper
from google_play_scraper import Sort, reviews
import pandas as pd
result = play_scraper.search('麻雀', page=1,hl="ja",gl="jp")
app_review_data = []
for i in result:
cut = 0
print('アプリID:',i['app_id'])
print('アプリURL:',i['url'])
print('アプリタイトル:', i['title'])
print('アプリ平均スコア:', play_scraper.details(i['app_id'])['score'])
result, continuation_token = reviews(
i['app_id'],
lang='ja',
country='jp',
)
for review in result:
app_review_data.append([i['app_id'], i['title'], review['at'], review['userName'], review['content'], review['score']])
while continuation_token is not None:
cut += 1
result, continuation_token = reviews(
i['app_id'],
continuation_token=continuation_token # defaults to None(load from the beginning)
)
for review in result:
app_review_data.append([i['app_id'], i['title'], review['at'], review['userName'], review['content'], review['score']])
#print(result, continuation_token)
if cut == 6:
break
# print(cut)
print('-----------------------------------------------')
df = pd.DataFrame(app_review_data)
df
全件取得したい場合はreviews_all()を使いますが、レビュー件数が万件以上あるとかなり処理に時間が掛かります。スクレイピングはitunesストアよりやりやすいですね。

コメント