[商業數據分析] Google map 評論分析 - 資料撈取

Ben Hsu
6 min readSep 6, 2020

--

最近在做茶飲市場的市場調查,主要想了解影響消費者決定踏入一家店面的決策因素,而這個議題其實在國內已有許多的研究,畢竟台灣在茶飲店的發跡的始祖。但仍需要做這個事情的原因,大致有幾點

  1. 研究通常只有結論,無法拿到詳細數據:以數據決策時,我需要知道資料的脈絡,單一網路文章、論文的結論可以參考,但不能做精確決策。
  2. 研究對像多為單一品牌,無相互比較:我們的定位是一個藍海市場的初進者,所以其實並沒有一個合適的比較對像,變成我們需要彙整類似產業的所有資訊。
  3. 對像為海外市場:台灣市場資訊不適用,所以一定是要重頭來了

但由於是市場前導調查,所以沒有營業數據可以參考;而少數可以參考的資料為社群網站的評論,雖然網路的資訊是非常間接的,但由於這是少數可用的資料來源,所以我們仍要設法從這榨出一些蛛絲馬跡,提高進入市場的成功機率。

Google map評論資料抓取

會選擇google map的原因主要有兩個 1. 容易,基本不需要登入就可以取得資訊;2. 公開評論環境:像是IG或是twitter是私人經營,一些小店面基本也不會有粉專,而一些國外的使用者,社群媒體的使用率也不高,使得抓取其他資訊是耗時又沒有效益。

步驟大致如下:

1. 找到目標店家

除了找到目標店家之外,這裡還有幾個要確認的項目,見圖1

(1) 資料確認 - 樣本數確認:每次抓取都是成本,如果該目標樣本數不足,也不用浪費時間。但因為評論數這種東西,樣本本來就不會多,如果樣本有超過25~30個,我就會考慮收集。而這裡的樣本數是133。

(2) 資料確認 - 時間跨度:通常要分析資料,會希望每個評論可能是均勻的分佈在一年中的每個月,參考性才會更大。而有些店面的評論數雖然稀少,但可能是因為他是剛開設的店家。但在這個頁面是無法得到這個資訊,需要事後驗證。

圖1. 目標店家頁面
圖1. 店家位置

2. 開發者工具

這裡的目標是從開發者工具找到抓取資料位置,見圖2

(1) 進入開發者工具:一開始的位置會是在左邊的評論頁面,這裡如果是使用Google chrome,按下F12可以進入右邊的開發者工具(紅色框)。

(2) 獲得網頁參數:當打開開發者工具,會發現頁面是空的,這時候對評論頁或 開發者工具重新整理網頁,這時你會看到開發者頁面會載入參數資訊。這這時我們要找的資訊,會在 Network → XHR →Name的某一項(橘色框)。

(3) 獲得更多評論:但其實這時候資訊還不完全,因為google map資訊是逐條載入,所以我們在左邊的評論頁面項下拉,讓他載入更多資訊,這時你會發現,開發者工具會的Name欄中,會出現listentit…的項目(綠色框)。

(4) 檢查項目:如果你點listentit的項目,右邊會跳出一個資訊欄,你可以從Response看到一些內容,檢查看看是否有需要的資訊。

圖2 評論與開發者工具

3. 獲取Request URL

(1) 取得評論資訊網址:當你點listentit時,右方資訊欄會有headers可以點,下面會有Request URL,這時如果你將網址貼到瀏覽器,可以得到評論資料。

圖3. Resuest URL位置

(2) 觀察Request URL:我們的目標是批次、自動獲得資料,所以需要觀察URL是否有規律,讓我們可以透過程式自動、定時獲取資料。圖4有三個網址,分別是不同listentit的RUL,可以觀察到,在綠色框部分,僅有8、18、58的差別。變化的原因是,每次資料會載入10則評論,於是我們靠修改URL,就可以抓到未載入的資訊。

圖4. URL網址

3. 爬蟲

這個部分就比較單純,以python抓取資料,直接上代碼,soup內就是評論資料,可以逐一查看,這裡就顯示部分內容

import requests
import json

url = ‘評論網址’
request_result = requests.get(url).text
soup = json.loads(request_result)

圖5. python執行結果

評論資料內容

分析的部分留待下次再說明,這裡先列一下幾個抓到的資訊,了解資訊後要做的,就是如何將這些資訊轉化成我們的決策資訊。執行結果如圖6(留言者是我)。

內容可以看到留言時間、留言內容、評分星數、以前曾經留過幾次言等,欄位意義需要觀察。但有一個重要的資訊是,他有留言者的ID與留言者網站,所以你進一步去爬蟲,就可以獲得那個人歷史留言的狀況,當你有這些資訊,就能判斷這個人的評分進行標準化、了解他是遊客或是當地人等進一步分析。

圖6. 評論內容

小節

這篇文章針對Google map評論的資料,說明了資料品質需要關注的點、抓取的方式、注意事項,以及內容。評論的資料抓取在整個分析流程不是難事,困難的是要如何透過這些評論精煉出可供決策的資訊,畢竟這些網路資訊是非常"間接"的,我們很可能因為一些表面資訊得到錯誤的結論,當透過資料分析得到結論時,應該回去觀察raw data、質疑你的結果,並與相關從業者討論。

單純依據資料相關性做的結論不一定可信,而當你有可能提供錯誤的價值時,不如不要分析。

參考資料

https://gist.github.com/linzino7/41292cdec681834f025cd2d634a02b13

--

--