[Excel]不用寫程式,也會爬蟲!自動抓取網頁最新的資料/接取Json-API資料處理篇

文、意如

在本篇文章開始前,我們要先簡單快速的認識一下

1. 什麼是爬蟲?
延伸閱讀:什麼是網路爬蟲?為什麼每一個工程師都要會?

2. JSON資料是什麼?
▶ 延伸閱讀:什麼是JSON?為什麼每一個工程師都要會?

3. API是什麼?
▶ 延伸閱讀:什麼是API?為什麼每一個工程師都要會?

大致了解後,我們就要開始來實作,不需寫程式只用Excel就能夠抓回網站上的資料。

任務一:抓取網頁資料(外幣即期匯率)
任務二:抓取的API-JSON資料
任務一:抓取網頁資料(外幣即期匯率)

步驟一:準備要抓取網頁資料的網址,以彰化銀行的外幣即期匯率為例。

目標網址:https://www.bankchb.com/frontend/G0100_query.jsp(先把目標網址複製下來)

目標資料:匯率查詢 ▶ 外幣即期匯率查詢中的表格 ▶ 抓取欄位值:幣別名稱、買入價格及賣出價格

 

excel_api_01

 

 

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

 

excel_api_02

 

 

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

 

excel_api_03

 

 

步驟三:已經成功將資料抓回來了。

1. 在顯示選項中會列出這個網址裡有哪些資料表。

2. 找到你要抓取的資料表,搭配步驟3

3. 資料表檢視,可以找到我們要抓取的資料表為(Table 0)。

4. 確認要抓取的資料後按下轉換資料。

 

excel_api_04

 

 

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

 

excel_api_05

 

 

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

 

excel_api_06

 

 

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

 

excel_api_07

 

 

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

 

excel_api_08

 

 

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

 

excel_api_09

 

 

任務二:抓取的API-JSON資料

 

除了以上網頁Html的資料外,檔案也支援Access、CSV、Excel、JSON、文字檔、XML表格與PDF。

 

此範例以抓回開放的API-JSON為例,先準備目標要抓取的json檔:https://raw.githubusercontent.com/wsmwason/taiwan-bank-code/master/data/taiwanBankCodeATM.json

 

excel_api_10

 

 

這次要抓取的資料為銀行名稱與銀行代碼,跟剛剛抓取網站資料的步驟其實差不多,只有換一下目標網址而已。

 

步驟一:

1. 工具列 ▶ 資料

2. 取得資料

3. 從檔案

4. 從JSON

 

excel_api_11

 

 

步驟二:

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

2. 開啟

 

excel_api_12

 

 

步驟三:此時會自動開啟Power Query

1. 轉換 ▶ 點選到表格。

2. 確定

 

 

步驟四:

1. 讀取資料 ▶ 選擇資料表右上按鈕

2. 選擇所需欄位

3. 確定

 

excel_api_13

 

 

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

 

excel_api_14

 

 

步驟六:匯入資料

1. 在Excel中使用表格檢視資料

2. 將資料放入新工作表中

3. 確定

 

excel_api_15

 

 

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

 

excel_api_16

 

Yiru@Studio - 關於我 - 意如