Skip to main content

[技巧] 用google文件Spreadsheet自動抓取網頁資訊(空氣品質open data)

基於幫助友人的因素
又看到有人說可以用google文件做出來(適用於靜態網頁,動態產生的就不適了)
但是沒有詳細的說明,於是研究了一下這個應用
沒人教,果然還是要花上很多時間,記錄一下此結果
原來 google drive (google docs)已有這麼強大的功能!

先看到處查詢來的[教學文]吧:
1.無痛爬梳自己來,用 Google Spreadsheet 爬取網頁資料 | 資料視覺化 - http://blog.infographics.tw/2016/11/google-spreadsheet-data-scraping/
2.Y.H.Lin: Google Spreadsheets 抓外部資料的函數 - http://yhlintw.blogspot.tw/2007/09/google-spreadsheets.html
3.iInfo 資訊交流: Google Spreadsheet 試算表 抓網頁資料 - http://white5168.blogspot.tw/2015/06/google.html#.WMH7-fLQOaI
4.利用Google試算表(Spreadsheet)取得台股(上市/上櫃)及美股股票報價(2015-12-05 更新) @ HC愛筆記 財經部落格 - http://hclovenote.blogspot.tw/2014/12/googlespreadsheet20141219.html

■配合政府現在最流行的[開放資料來源],隨便選一個資料來源都能試:
1.OpenData.epa 行政院環境保護署 環境資源資料開放平台
http://opendata.epa.gov.tw/Data/Contents/AQI/
2.資料資源 | 政府資料開放平臺 - http://data.gov.tw/node/gov/resource/63867
3.空氣品質警示 - http://www.kh.edu.tw/theme/AQI_Monitor/air.html
4.高雄市空氣資料  http://www.kh.edu.tw/theme/AQI_Monitor/air.html 

在google試算表內的[各種範例]:
◆=ImportHtml("http://en.wikipedia.org/wiki/Demographics_of_India", "table",4)
說明:這個後面的參數有 table表格 與 list ,至於後面的數字是多少(第幾個表格),就要自己實驗了
 ◆=importDATA("http://data.gov.tw/iisi/logaccess/63867?dataUrl=http://opendata.epa.gov.tw/ws/Data/AQI/?format=csv&ndctype=CSV&ndcnid=40448")
說明:這個可以用來讀csv檔案
◆=importXML("http://www.kh.edu.tw/theme/AQI_Monitor/air.html"
,"//*/tbody/tr[68]/td[1]/p")
◆=importXML("https://www.ptt.cc/bbs/Baseball/index.html","//*/div[2]/div/div/a")
說明:這是用來讀html或是xml文件的
◆還有個jason格式的就沒列出來了

■實做
選用的網站是,OpenData.epa 行政院環境保護署 環境資源資料開放平台
一開始用想說用CSV文件即可
找到它的CSV下載網址:
http://data.gov.tw/iisi/logaccess/63867?dataUrl=http://opendata.epa.gov.tw/ws/Data/AQI/?%24orderby=SiteName&%24skip=0&%24top=1000&format=csv&ndctype=CSV&ndcnid=40448
使用句型:
=importDATA("http://data.gov.tw/iisi/logaccess/63867?dataUrl=http://opendata.epa.gov.tw/ws/Data/AQI/?format=csv&ndctype=CSV&ndcnid=40448")
後來發現不能更新
原來它的csv是一小時產生一個新的,而且csv檔名都不一樣

只好打掉重來,還是要靠XML
找到該網站的 XML連結,看了一下,確定它的位置名稱是固定不變的
http://opendata.epa.gov.tw/ws/Data/REWIQA/?$orderby=SiteName&$skip=0&$top=1000&format=xml

第一格列出地名↓ 
=importXML("http://opendata.epa.gov.tw/ws/Data/REWIQA/?$orderby=SiteName&$skip=0&$top=1000&format=xml","//*/SiteName")
第二格列出AQI空氣品質↓

=importXML("http://opendata.epa.gov.tw/ws/Data/REWIQA/?$orderby=SiteName&$skip=0&$top=1000&format=xml","//*/AQI")

在google 文件內就出現這樣子:


大功告成!
再按下檔案裡面的發佈成網頁即可
也可再自己做成新的google Spreadsheet頁面呈現之。例如:


同場加映,下面空氣品質評語的判斷公式:
=IF(A1>301,"有害",IF(A1>200,"非常不良",IF(A1>150,"對所有族群不良",IF(A1>100,"對敏感族群不良",IF(A1>50,"普通","良好")))))
以上是舉例,不要複製貼上嘿。A1是儲存格,「>」是大於的符號
多重IF即可根據空氣品質的數字,自動顯示相對應的評語啦!

Comments

Popular posts from this blog

[軟件]FotoSketcher -素描化軟體

1. 好軟體freeware 非圖片美工者的好幫手 2. 圖例 網路上抓的dell的活動mm 3. 經過素描效果的圖 效果真不是蓋的 4. 點圖放大後效果就很明顯了 連結懶得寫 請自行搜尋

[速摘] 大鍋摘

[促咪] [趣味開箱]小強藥不藥,一堆殺蟑藥開箱啦! - Mobile01 本站新聞 太有趣的測試文了,殺蟑劑 手機最終進化:返樸歸真 - John's Phone開箱文 - Mobile01 本站新聞 這手機真有梗 百度推出自家瀏覽器,Chrome:你就是我失散多年的兄弟!? 搞笑吧? 包商落跑丟爛攤 中捷停工 - Yahoo! 新聞 這種事好似不是第一聽到的了 之前在中部鄉下也聽過 不過那次是因為鐵價忽然上漲 蘋果樹,一張圖看完35年的 Apple 產品 | T客邦 - 我只推薦好東西 迷你街頭再一發!維妙維肖的老香港街景模型 | 大人物 可愛到炸了 [新奇] [ metamuse ]: Google Doodle : 孟德爾 我還在想為什麼要出豆子 原來是孟德爾 4人打造600萬會員傳奇,Instagram 辦公室大解密 | T客邦 - 我只推薦好東西 我好愛看辦公室開箱文 「我的最愛」一肩扛!虛實整合的「肩帶書籤頁」 | 大人物 XD 有點好像,可是非常之實用 [方法] 情報分類的方法:多一步資訊過濾,告別資訊爆炸煩惱 | 電腦玩物 時間很難管理 方便、快捷、環保:Amazon 推出電子教科書租借服務 聰明設計,書可以租、可以收回 但是註解可以自己留,讚 百度與三大唱片公司達成協議,解決侵權問題 百度好的開始 不過browser馬上又抄了? Mac OS X Lion 安裝懶人包... | 科新聞 沒有了美國engadget支援 現在的cool3c網路速度變慢了 文章量也減少了 不過這篇感覺不錯~ 蘋果告宏達電的另一種看法 參考一下 匯入自定詞彙,打字更精準、減少選字次數(Yahoo! 奇摩輸入法) 新酷音整個軟了 看來奇摩這個輸入法得要好好試啦 看看它到底有沒有進步 用免費工具管理vSphere/ESXi | 技術專題 | iThome online 揮別.com,品牌也能當頂級域名 | 新聞專題 | iThome online 政府7月推資安產品採購驗測標準 | 新聞專題 | iThome online [歷史] [ metamuse ]: 阿朗壹古道:看不見的古道 還是不要開發得好 iT人甘苦談─穿著醫師袍的熱血電腦人:PCMan |...