[數據分析#73] 爬蟲、API:5 分鐘搞懂原理 + 實作案例拆解:做外部資料分析必學!

資料分析師的工作中,外部資料蒐集跟分析是一個「可能會遇到狀況」!而爬蟲,或是從 API 取得外部資料,是實現外部資料蒐集的一個必要步驟!!

今天這篇文章,我會講這些內容,也回答一些大家常見的疑問,比如說「一定要學爬蟲嗎?」「一定要會 API 嗎?」「會了爬蟲或是 API 要幹嘛?」這類的問題~

  • 資料分析師一定要會爬蟲嗎?什麼狀況下要用?常見嗎?
  • API 是什麼?是資料分析師匯入資料的必要步驟嗎?
  • 用 Google Map API 實作講解:API 的基本概念、實作跟應用

資料分析師真的需要會爬蟲或是 API 嗎?

為什麼資料分析師不一定要學爬蟲或是 API?

  • 公司要做的資料分析是「內部資料分析」:通常資料分析師處理的資料分析,資料源自於公司自有的,那就根本不需要爬蟲或是 API!(這是最常見的狀況,但是大部分的人都不知道!)

爬蟲 vs API?相同 vs 相異處分析

  • 對於資料分析師來說,爬蟲跟 API 都是為了要取得「數據」去分析,這是相同之處!這裡先談一下他們兩個的相異處:
    1. 合法性:
      • API:API 通常是由網站開發者提供給想取用的人。所以使用 API 通常是合法的
      • 爬蟲:爬蟲是通過分析網頁擷取數據,不需要官方授權,因此可能不合法!
    2. 結構和格式:
      • API:API 反傳回來的數據通常是結構化格式,是比較容易處理的格式!
      • 爬蟲:爬蟲擷取回來的格式通常比較亂,而且網頁持有者可能會一直改,導致數據要一直做清理
    3. 頻率和限制:
      • API:API 通常會有取用限制,或者可能會跟使用者收費
      • 爬蟲:爬蟲可以不受控制,但是可能導致網站過載或是被阻止,所以也是挺危險的!
    4. 穩定性:
      • API:API 通常更穩定,因為是由網站持有者 (官方提供)
      • 爬蟲:爬蟲會受到網站結構變化而影響,一支爬蟲的維護成本會比較高!
  • 總之,API 是一個長久之計,所以通常如果需要「外部資料分析」,資料分析師也會優先考慮用 API 來蒐集外部數據。除此之外,比如說跟第三方廠商合作的資料,可能也會用 API 來做,所以學習 API 會比爬蟲更實用!!

核心觀念講解:API 是什麼?懂了之後有多好用?

對資料分析師而言,什麼是 API?

  • 數據源頭:XX 電商,擁有很多顧客數據
  • Lisa 身為資料分析師,想要取用 XX 電商的數據源頭來分析資料
  • API:簡單來說,是交換數據的管道。把 XX 電商的顧客數據,都打包在一起,只要 Lisa 呼叫,就會把資料傳過來
  • 這時候,你可能會想問說,那為什麼不直接給我 excel 或是 csv?
  • 因為那麼多 excel 或是 csv,不好維護,API 可以受 XX 電商控制,保持資料的乾淨整潔!
  • 這就是為什麼資料分析師在取用第三方數據的時候,必須學會 API 的原因!!
核心觀念講解:API 是什麼?懂了之後對數據分析師來說,有多好用?

API 的好處:2 大資料分析師必知的優點

了解 API 的重要性不僅是資料分析師的基本技能,還有其他優點:

  1. 資料取用便利、統一、乾淨: API 可以打包不同種類的數據,比如說,今天我們可以透過 API,將客戶的數據個別給他,讓他們可以呼叫到自己的 CRM 平台中,讓每個人取用數據都變得更容易!
  2. 自動載入數據,優化工作流程: 了解 API 可以幫助你串接不同源頭的數據,建立自動化的工作流程。例如,你可以設定 API 來自動儲存 GA4 的數字,無需手動載入這些數據!

總結來說,了解 API 跟使用 API,可以讓更多人很好取用數據,還可以自動化自己的數據工作流程。這個能力對於資深數據分析師很重要,而如果你需要跟工程師或是外部合作,這也是必要能力之一!

外部資料分析案例:使用 Google Map API 找到理想店家!

步驟一:API 的申請、爬 Google Map 店家資料、搞懂 API 限制

  • 在這個實際案例中,我會用 Google Map API 來取得店家資料,並且存成可以分析的資料形式 (csv)
  • 首先,在這之前,需要申請 Google Map API,這個過程可以讓你了解 Google 如何把 API 授權給我們
  • API 限制:這邊可以看到 Google Map API 的限制,我們可以先用免費的方式來使用
步驟一:API 的申請、爬 Google Map 店家資料、搞懂 API 限制

步驟二:從 API 裡面整理出資料欄位

  • 獲得 API 權限後,就可以用 API 進行資料蒐集了!包括店家名稱、地址、評分等資訊

步驟三:設定需求、取得理想店家名單!

  • 最後,設定分析需求:我今天想要找到我附近的診所,方圓 5 公里內
  • 把需要的欄位寫出來,最後存成 csv 檔案,這就會成為我們資料分析的 raw data 啦!!
案例成果:用 API 取得我需要的資料

程式碼分享:

# 安裝必要的套件
!pip install -U googlemaps

# 輸入你的Google Maps API金鑰
api_key = "你的 API 金鑰"

# 使用googlemaps套件建立API客戶端
import googlemaps
gmaps = googlemaps.Client(key=api_key)
import pandas as pd
import time

# 定義一個函數來獲取附近的診所
def get_nearby_clinics(api_key, location, radius, keyword):
    gmaps = googlemaps.Client(key=api_key)
    clinics = []

    clinics_result = gmaps.places_nearby(
        location=location,
        radius=radius,
        keyword=keyword
    )

    for clinic in clinics_result['results']:
        name = clinic['name']
        address = clinic['vicinity']
        rating = clinic.get('rating', 'N/A')
        clinics.append([name, address, rating])

    return clinics

# 輸入您的位置坐標 (經度和緯度)
location = "25.041911156801188, 121.55765081371717"
radius = 5000  # 5公里範圍
keyword = "clinic"  # 您可以根據需求更改關鍵詞

clinics_data = get_nearby_clinics(api_key, location, radius, keyword)

# 將結果轉為Pandas DataFrame
df = pd.DataFrame(clinics_data, columns=['診所名稱', '地址', '評分'])

# 顯示前幾個結果
print(df)
from google.colab import files

# 儲存結果為CSV檔案
df.to_csv('clinics.csv', index=False)

# 下載CSV檔案到本地計算機
files.download('clinics.csv')

結論:爬蟲及 API 只是取得數據的開始,後續的資料使用及分析才是關鍵!

  • 總結來說,如果想成為進階資料分析師,使用 API 是一個滿重要的技能~至少要懂他的邏輯,這樣才不會其他合作單位跟你要 API 的時候,不知道那是什麼 XD
  • API 取得數據其他很棒,載下來的數據是結構化的,而且相比爬蟲,不需要太艱深的程式語言基礎
  • 但是,透過今天的案例,你應該也發現了!不論 API 或是爬蟲都一樣,他都只是「取得我想要的資料源頭或是欄位」,數據分析真正的關鍵在於後面的分析,以及有價值的結果跟行動方案!!
  • 如果你發現自己缺少數據分析的經歷、實作經驗,我推出的【STEP 數據分析師轉職培訓班】中,會一步一步帶你從了解部門領域知識、到工具應用、學中做,做出個人數據專案,最後透過領域面試的撇步,挑到理想數據工作,有興趣的話,一定要預約我的諮詢會議,確認我是否能幫到現在的你!

【1 對 1 免費諮詢】數據分析師 0~1 培訓班陪你一路到轉職成功!

hi 我是 Lisa

你也是 0 經驗、沒有相關背景,但也想要轉職數據分析師,或運用數據分析,提升在領域的專業度嗎?

-

你是否也覺得,數據分析的網路學習資源很多,但是多到不知道從哪裡開始?

學了很多工具,但學完了,問題才真正開始,不知道業界怎麼使用?又該如何面臨工作跟面試?

-

我在 2019 年從營運專員的職位轉職到數據分析師

在這之後,因為數據分析,也讓我快速建構不同領域的知識:行銷、營運、商業策略、產品、網頁

轉職過程中,花了很多時間成本摸索

我發現,學數據分析最快的方式是:

  1. 確認自己跟市場需求之間的差距:訂定轉職策略及了解數據分析師的工作方式
  2. 以業界應用的角度學習工具:包括數據工具及分析用思維架構,並且如何高效運用
  3. 建立一個商業上的真實專案,並且得到回饋:打造屬於你及貼合職缺需求的作品集和專案
  4. 打造一個高效履歷跟面談:透過高價值包裝術拿下面試、成功獲得數據行業的門票

當初如果我有這套系統思維,應該可以在短時間內轉職,馬上拿到進入業界的門票

-

現在,我想把這套完整課程分享給你

這是專門為了 0 經驗、沒有相關背景的轉職者所設計

不需要去考研究所、不需要花大錢準備出國讀書

可以用最快的時間準備轉職、拿到門票!

-

如果你正在準備轉職數據分析師,且試圖找過解決辦法卻始終治標不治本!歡迎跟我預約免費 1 對 1 諮詢,我會在諮詢時,了解你的需求並且評估我是否可以協助到你!

電子書 職場人必學的數據分析術

Lisa Wu

Hi 大家好!我是喜歡探索身心靈健康及平衡的數據分析師 Lisa Wu!這個網站會幫助你:利用數據分析 (理性) 及 身心靈平衡 (感性) 的系統,去達成人生目標!如果你對我的人生系統工具有興趣,歡迎聯繫我:couplehonest@gmail.com

This Post Has One Comment

Comments are closed.