
使用 App Inventor 讀取統一發票中獎號碼
之前我有寫過一篇「使用 App Inventor 讀取 XML 網頁資料」,有讀者說希望可以再多教幾個相關的教學,所以這次我來寫一篇如何讀取統一發票的中獎號碼,這一篇只是單純的爬資料,如果再搭配掃碼元件,就能做成一個兌獎 App 了!
1. 首先在瀏覽器搜尋「統一發票中獎號碼 RSS」

進入網頁後,頁面滑到最下方,並點選「統一發票」。

將網址複製到記事本,等等要設定為網路元件的網址。

讀取的方法,就和之前教的一樣,用找關鍵字的方塊,從最外層的 rss 開始找,再來找 channel,而我們要的資料,是 channel 底下的 item。
這邊可以看到,item 的標籤有很多,而且裡面的資料格式都是重複的,裡面是存放各期的發票中獎號碼;那麼假如我要抓 title 標籤的「110年05月、06」,也是要用 找關鍵字的方塊 ,但是在鍵值的部分,不能直接放剛剛抓到的 item,因為剛剛抓到的 item 有很多,所以要先用 選取清單索引的方塊 ,選擇其中的第幾項後,再放 item 資料。
接著要來撰寫 App
2. 開啟 App Inventor,並新增一個專案「invoice」。
畫面元件如下:(建議用英文版,不然現在有一些方塊無法用!)

切換到程式設計
新增以下程式方塊:

item 變數存放爬到的 item 標籤資料
當讀取按鈕被點選,就設定網路元件的網址,然後執行 GET 請求。
網路元件取得文字後,先判斷回應碼是否為 200 (200 代表成功),如果讀取成功就將爬取到的資料解碼 (要用 XML 解碼),再傳到解析資料副程式。
繼續新增解析資料副程式如下:

解析方法,就跟剛剛講的一樣。
這次的 App 教學就到這,有任何問題都歡迎留言提問!
App 完整程式方塊

App Inventor 專案程式檔下載
App 專案執行範例
如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝
可以多點幾次喔~~
第一次點讚需使用 Google 或 Facebook 帳號註冊
![[教學文章分享] 突破 App Inventor 30 MB 限制 Part 2](https://i0.wp.com/i.imgur.com/SSXx0y2.png?resize=75%2C75&ssl=1)
