由於項目組最近在做 ASO 優化,需要我和另一位運營同事搜集大量應用評論。常規方法是借助第三方 ASO 優化平台的評論導出功能,不過此功能可導出的數據不多。網上搜索後學習到了 Python 抓取 App Store 任意應用評論的方法。
常規應用評論獲取方法#
以七麥數據 ASO 平台為例,搜索想要獲取的 APP 應用,比如微信,然後在微信的七麥詳情頁選擇「評分評論」,最後查看「評論詳情」並點擊「導出數據」按鈕,就可以導出應用評論數據。
該方法的優缺點如下:
- ** 優點:** 可以按日期、星級、關鍵詞篩選評論,且相對更符合機刷要求;
- 缺點: 無法直接導出評論數據,需要人工對評論數據進行文本處理;
Python 獲取 App Store 任意應用評論#
在排除上述常規方法後,便考慮有無方法可以直接抓取到 App Store 下競品的評論數據,一番搜索後,發現知乎上有一段 Python 腳本可以利用蘋果官方 API 抓取 500 條評論數據。
原帖地址:如何獲取 itunes 一款 app 的所有評論內容?爬蟲?蘋果提供的 api?
按照此方法進行了嘗試,成功抓取到 App Store 下任意 ID 產品的評論數據並以 excel 表格形式導出。使用方法如下:
第一步: 安裝 Python 3 環境,可通過下載安裝 Anaconda(清華大學源)實現。
第二步: 利用pip
命令安裝XlsxWriter
模塊,代碼如下:
pip install XlsxWriter
第三步: 百度搜索:appstore + app 名,從官網進入,查看地址欄獲取應用 ID。
第四步: 保存下面 Python 腳本為*.py
格式,例如comments.py
。
import urllib.request
import json
import xlsxwriter
print("這是一個在線獲取appstore裡任意app的評論列表工具")
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()
** 第五步:** 如想在e:\
盤根目錄保存最後生成的應用評論表格,便可以在該目錄下的 DOS 窗口下運行此腳本。
cd e:\
python comments.py
然後按照提示輸入應用 ID 就可以自動抓取該 ID 對應的應用在 App Store 裡的評論,如下圖。