iT邦幫忙

2021 iThome 鐵人賽

DAY 20
4
Software Development

奇怪的知識增加了!原來程式還可以這樣用?!系列 第 20

[Day20] Google Map 評論爬蟲詳細教學

前一篇有提到url的連結不是Google店家頁面的連結,需要透過Chrome的開發者工具才能找到~
以下是取得評論來源網址步驟:

  1. 進入店家Google Map頁面按F12 -> 選Network -> 選Fetch/XHR
    https://ithelp.ithome.com.tw/upload/images/20210919/20133286g7K9091Me1.png
  2. 點評論 -> 將評論往下滑,會看到每次載入新留言時右方會出現重複的listentitiesreviews
    https://ithelp.ithome.com.tw/upload/images/20210920/20133286h2POVzTGyn.png
  3. 點開listentitiesreviews,紅框的連結就是上篇的url囉~
    https://ithelp.ithome.com.tw/upload/images/20210920/20133286fQKOShOGQT.png

我們得到這個連結是: (第一個listentitiesreviews)
https://www.google.com.tw/maps/preview/review/listentitiesreviews?authuser=0&hl=zh-TW&gl=tw&pb=!1m2!1y3765762734390772041!2y17055821615375049737!2m2!1i10!2i10!3e1!4m5!3b1!4b1!5b1!6b1!7b1!5m2!1sBmJHYfTGM5mLr7wP8ouDmAI!7e81

但是這個連結只有前十條留言的資料! 所以我們要找出之後連結的規律,
接著繼續滑評論留言,找到第二個listentitiesreviews點開:
https://www.google.com.tw/maps/preview/review/listentitiesreviews?authuser=0&hl=zh-TW&gl=tw&pb=!1m2!1y3765762734390772041!2y17055821615375049737!2m2!1i20!2i10!3e1!4m5!3b1!4b1!5b1!6b1!7b1!5m2!1sBmJHYfTGM5mLr7wP8ouDmAI!7e81

從上面可以發現只有第一個連結的1i10和第二個連結的1i20不同,
之後觀察第三個listentitiesreviews,可以發現相同位置地方變成1i30
所以只要把1i [數字] 0設變數就可以抓到全部評論囉~

那有了url後,要怎麼知道留言、姓名、評分星數在哪裡呢?

  1. 點選Preview,發現第2層的內容裡面有評論的資訊
    https://ithelp.ithome.com.tw/upload/images/20210920/20133286Li8afhtLex.png
    表示評論的部分在url的第2層裡。

  2. 接著點開第一個人(第0層)的留言,可以發現留言時間在第1層、留言內容在第3層、星星數在第4層
    https://ithelp.ithome.com.tw/upload/images/20210920/201332866wXb1spIkR.png

知道這些資訊,我們就可以寫程式來抓Google Map評論的指定內容了喔~


上一篇
[Day19] 為什麼都沒有 Google Map 評論抽獎器? 只好用Python做一個了!
下一篇
[Day21] 你問我愛你有多深? 用Python讓手指愛心超進化!
系列文
奇怪的知識增加了!原來程式還可以這樣用?!30

1 則留言

1
彭偉鎧
iT邦新手 2 級 ‧ 2021-09-20 15:18:53

想必你上班都在想著下午茶要吃甚麼!

我要留言

立即登入留言