2022/07/06

Excel玩爬蟲!自動抓取最新網頁資料,接取Json-API資料處理

文、意如老師

在本篇文章開始前,我們要先簡單快速的認識一下
什麼是爬蟲?
JSON資料是什麼?
API是什麼?

了解什麼是爬蟲,請參考此篇文章:什麼是網路爬蟲?為什麼每一個工程師都要會?

了解什麼是Json資料,請參考此篇文章:菜鳥救星講程式:什麼是JSON?為什麼每一個工程師都要會?

了解什麼是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資料有變更時,點擊右上按鈕即可更新最新資料。

加入菜鳥救星官方Line並回覆「我想看文章」,不定期獲得更多知識吧!

不同頻道,不同知識!

Facebook Instagram Youtube