文、意如
在本篇文章開始前,我們要先簡單快速的認識一下
1. 什麼是爬蟲?
延伸閱讀:什麼是網路爬蟲?為什麼每一個工程師都要會?
2. JSON資料是什麼?
▶ 延伸閱讀:什麼是JSON?為什麼每一個工程師都要會?
3. API是什麼?
▶ 延伸閱讀:什麼是API?為什麼每一個工程師都要會?
大致了解後,我們就要開始來實作,不需寫程式只用Excel就能夠抓回網站上的資料。
任務一:抓取網頁資料(外幣即期匯率)
任務二:抓取的API-JSON資料
任務一:抓取網頁資料(外幣即期匯率)
步驟一:準備要抓取網頁資料的網址,以彰化銀行的外幣即期匯率為例。
目標網址:https://www.bankchb.com/frontend/G0100_query.jsp(先把目標網址複製下來)
目標資料:匯率查詢 ▶ 外幣即期匯率查詢中的表格 ▶ 抓取欄位值:幣別名稱、買入價格及賣出價格

步驟二:開啟Excel ▶ 資料 ▶ 從Web

從Web ▶ 基本 ▶ URL輸入框 ▶ 將剛剛複製的目標網址貼上 ▶ 確定

步驟三:已經成功將資料抓回來了。
1. 在顯示選項中會列出這個網址裡有哪些資料表。
2. 找到你要抓取的資料表,搭配步驟3
3. 資料表檢視,可以找到我們要抓取的資料表為(Table 0)。
4. 確認要抓取的資料後按下轉換資料。

步驟四:按下轉換資料後會跳出PowerQuery編輯器,並且將抓回資料顯示如下:

接下來將資料關閉並載入Execl即完成。

匯入資料 ▶ 使用表格來檢視此資料的方式 ▶ 預計存放在新工作表中 ▶ 確定

成功顯示資料表格,完成檔如下:

當網頁資料更新時,也可以直接在Excel開啟此檔案後的右手邊窗格,將目前抓取的Table 0 的資料列按下重新整理,即可將最新的資料抓回。

任務二:抓取的API-JSON資料
除了以上網頁Html的資料外,檔案也支援Access、CSV、Excel、JSON、文字檔、XML表格與PDF。
此範例以抓回開放的API-JSON為例,先準備目標要抓取的json檔:https://raw.githubusercontent.com/wsmwason/taiwan-bank-code/master/data/taiwanBankCodeATM.json

這次要抓取的資料為銀行名稱與銀行代碼,跟剛剛抓取網站資料的步驟其實差不多,只有換一下目標網址而已。
步驟一:
1. 工具列 ▶ 資料
2. 取得資料
3. 從檔案
4. 從JSON

步驟二:
1. 在檔案名稱貼上目標網址:https://raw.githubusercontent.com/wsmwason/taiwan-bank-code/master/data/taiwanBankCodeATM.json
2. 開啟

步驟三:此時會自動開啟Power Query
1. 轉換 ▶ 點選到表格。
2. 確定
步驟四:
1. 讀取資料 ▶ 選擇資料表右上按鈕
2. 選擇所需欄位
3. 確定

步驟五:已成功抓回資料後,關閉並載入結果。

步驟六:匯入資料
1. 在Excel中使用表格檢視資料
2. 將資料放入新工作表中
3. 確定

完成檔如下:如線上的json資料有變更時,點擊右上按鈕即可更新最新資料。

Yiru@Studio - 關於我 - 意如