iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 8
1

前言

當機器人如預期般的開始回覆資訊後,工程師的我就開始天馬行空的想接一堆服務、取一些資料來應用,像是天氣資訊、旅遊資訊與交通資訊...等。但問題來了:收集資料與提供服務都需要耗費人力與時間,很少廠商願意佛心提供免費資料讓貧窮工程師使用,同時身為懶惰工程師又很不想做爬蟲 (可能面對格式變更問題、抓太多次又被當成攻擊鎖掉)。這時候,政府機關的開放資料平台就是你的好朋友。

開啟 政府資料開放平台 (https://data.gov.tw/) 的工程師就像在逛菜市場一樣,要找到好看又不會讓自己拉肚子的服務…
https://d2mxuefqeaa7sj.cloudfront.net/s_F4CEE124330D737F18D50112F759D7A71DAD14EAF4B559C9706745CE2F235AF9_1512962920725_image.png

看看這精美的說明,應該可以讓我們省下不少時間。
https://d2mxuefqeaa7sj.cloudfront.net/s_F4CEE124330D737F18D50112F759D7A71DAD14EAF4B559C9706745CE2F235AF9_1512967946161_image.png

註:這些開放資料平台都需要經過註冊,使用前請詳細閱讀使用規範
註:最下面參考資料還有多個開發資料平台提供您參考


使用服務取得資料

下圖是一張簡易的流程圖:當使用者下了關鍵字(命令)後,組合相關的參數資料,呼叫 WebAPI 的方式 (多數是 HttpPost 或 HttpGet) 取得相關資料 (XML、JSON、CSV或excel…等),再解析內容後,組成使用者想要看見的型態回傳給使用者。
https://d2mxuefqeaa7sj.cloudfront.net/s_F4CEE124330D737F18D50112F759D7A71DAD14EAF4B559C9706745CE2F235AF9_1512966400747_001.jpg

在介接之前,我們需要確認對方的服務是活著且正確的。 HttpGet 方式較容易,點選開啟瀏覽器後即可以檢視/下載資料。但如果是HttpPost 呢? 我們要解析資料格式怎麼看呢? 如果需要 Token呢? 這時候就需要另一個好朋友 postman !
Step 1. 點選網址 https://www.getpostman.com/ → 下載與安裝 (不贅述)
https://ithelp.ithome.com.tw/upload/images/20171212/20091494ITBOWVpVdn.png

Step 2. 新增 collection (可以在這個collection 內建立資料夾,方便整理)
https://d2mxuefqeaa7sj.cloudfront.net/s_F4CEE124330D737F18D50112F759D7A71DAD14EAF4B559C9706745CE2F235AF9_1512967140809_image.png

Step 3. 新增 Request → 輸入名稱與存放在哪一個 collection
https://d2mxuefqeaa7sj.cloudfront.net/s_F4CEE124330D737F18D50112F759D7A71DAD14EAF4B559C9706745CE2F235AF9_1512967343678_image.png

Step 4. 依據API條件,選擇 GET/POST、輸入 URL、Header、Body…等參數內容
https://d2mxuefqeaa7sj.cloudfront.net/s_F4CEE124330D737F18D50112F759D7A71DAD14EAF4B559C9706745CE2F235AF9_1512967487186_image.png

Step 5. 我們搜尋台北市環保旅館資料:輸入資料 →點選 Send 進行測試,似乎效果不錯
https://d2mxuefqeaa7sj.cloudfront.net/s_F4CEE124330D737F18D50112F759D7A71DAD14EAF4B559C9706745CE2F235AF9_1512967862648_image.png

確認服務可以使用且正常運作,並且也得到正確資料格式後,下一篇我們就可以開始撰寫相關程式,讓你的機器人無所不知。


參考資料

  1. 台北市政府資料開放平台 - http://data.taipei/opendata/
  2. 台中市政府資料開放平台 - http://data.taichung.gov.tw/wSite/mp
  3. 政府資料開放平台 - https://data.gov.tw/
  4. 行政院環境保護署環境資源資料開放平台 - https://opendata.epa.gov.tw/

天氣冷想吃薑母鴨,怎麼沒有薑母鴨開放資料(被毆) /images/emoticon/emoticon05.gif


上一篇
07. 應用:透過 Skype Bot 建立簡易查詢(對話)功能
下一篇
09. 應用:自用氣象資訊機器人
系列文
利用 MS Bot framework 與 Cognitive Service 建構自用智慧小秘書31

1 則留言

0
牛哥
iT邦好手 1 級 ‧ 2017-12-11 16:32:49

讚啦~

謝謝支持 /images/emoticon/emoticon41.gif

我要留言

立即登入留言