Chiloh

Chiloh Wei

一个尝试理解世界,理解自己的人
jike
twitter

PythonでApp Storeのアプリのレビューを取得する

最近、チームで ASO の最適化を行っているため、大量のアプリレビューを収集する必要がありました。通常の方法は、サードパーティの ASO 最適化プラットフォームのレビューエクスポート機能を利用することですが、この機能ではエクスポートできるデータが少ないです。インターネットで検索した結果、Python を使用して App Store の任意のアプリのレビューを取得する方法を学びました。

通常のアプリレビューの取得方法#

Qimai データ ASO プラットフォームを例にとります。取得したいアプリを検索し、例えば WeChat を選択し、WeChat の Qimai の詳細ページで「評価とレビュー」を選択し、最後に「レビューの詳細」を表示して「データのエクスポート」ボタンをクリックすると、アプリのレビューデータをエクスポートできます。

Qimai アプリデータ.png

この方法の利点と欠点は次のとおりです:

  • 利点: 日付、評価、キーワードでレビューをフィルタリングでき、機械的な操作にも適しています。
  • 欠点: レビューデータを直接エクスポートすることはできず、テキスト処理が必要です。

Python を使用して App Store の任意のアプリのレビューを取得する#

上記の通常の方法を除外した後、App Store の競合製品のレビューデータを直接取得する方法があるかどうかを考えました。検索してみると、知恵袋に Python スクリプトがあり、Apple の公式 API を使用して 500 件のレビューデータを取得できることがわかりました。

元の投稿:如何获取 itunes 一款 app 的所有评论内容?爬虫?苹果提供的 api?

この方法に従って試してみると、App Store の任意の ID の製品のレビューデータを正常に取得し、Excel 形式でエクスポートすることができました。以下は使用方法です:

ステップ 1: Python 3 環境をインストールします。Anaconda(清華大学ソース)をダウンロードしてインストールすることができます。

ステップ 2: pipコマンドを使用してXlsxWriterモジュールをインストールします。以下はコードです:

pip install XlsxWriter

ステップ 3: バイドゥで「appstore + アプリ名」と検索し、公式ウェブサイトにアクセスして、アプリの ID を取得します。

ステップ 4: 以下の Python スクリプトを*.py形式で保存します。例えば、comments.pyとします。

import urllib.request
import json
import xlsxwriter
print("これはApp Storeの任意のアプリのレビューリストをオンラインで取得するツールです")
print("実行後、「appコメント.xlsx」という名前のファイルが生成されます")
page=1;
appid=input("アプリIDを入力してください:");
#appid=1182886088
workbook = xlsxwriter.Workbook('appコメント.xlsx')
worksheet = workbook.add_worksheet()
format=workbook.add_format()
format.set_border(1)
format.set_border(1)
format_title = workbook.add_format()    
format_title.set_border(1)   
format_title.set_bg_color('#cccccc')
format_title.set_align('left')
format_title.set_bold()    
title=['ニックネーム','タイトル','コメント内容']
worksheet.write_row('A1',title,format_title)
row=1
col=0
count=0

#デフォルトで10回ループ  
while page<11:
    myurl="https://itunes.apple.com/rss/customerreviews/page="+str(page)+"/id="+str(appid)+"/sortby=mostrecent/json?l=en&&cc=cn"
    response = urllib.request.urlopen(myurl)
    myjson = json.loads(response.read().decode())
    print("データファイルを生成しています、お待ちください......"+str(page*10)+"%")
    if "entry" in myjson["feed"]:
        count+=len(myjson["feed"]["entry"])
        #1列目に書き込む:ニックネーム
        for i in myjson["feed"]["entry"]:
            worksheet.write(row,col,i["author"]["name"]["label"],format)
            row+=1
        #2列目に書き込む:タイトル    
        row=1+(page-1)*50
        for i in myjson["feed"]["entry"]:
            worksheet.write(row,col+1,i["title"]["label"],format)
            row+=1
        #3列目に書き込む:内容
        row=1+(page-1)*50
        for i in myjson["feed"]["entry"]:
            worksheet.write(row,col+2,i["content"]["label"],format)
            row+=1
        page=page+1
        row=(page-1)*50+1
    else:
        print("データファイルを生成しています、お待ちください......100%")
        break
if count==0:
    print("実行完了、データが取得できませんでした。入力が正しいか確認してください!")
else:
    print("完了しました、関連ファイルを確認してください。合計"+str(count)+"件のデータが取得されました")
workbook.close()

ステップ 5: 最終的に生成されたアプリのレビューテーブルをe:\ドライブのルートディレクトリに保存したい場合は、そのディレクトリで DOS ウィンドウを開き、このスクリプトを実行します。

cd e:\
python comments.py

そして、アプリの ID を入力するようにプロンプトが表示されるので、App Store でその ID に対応するアプリのレビューを自動的に取得することができます。以下はスクリーンショットです。

Python でのレビューの取得.png

参考資料#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。