1.抓opendata 數據的網頁

這是抓取http://data.gov.tw/ 內想要的資訊的方法,以空汙指數為例,

首先,政府在公開平台現在有很多資訊可利用,

像本網頁想抓取的是http://opendata2.epa.gov.tw/AQX.json 這個網頁所分享出來的data

由於格式是json,也就是JavaScript的物件格式(每筆數據都存在所對應的物件中)

目前我在程式碼是過濾出"板橋區"的數據,再下去抓取

環保署在每個整點才更新一次數據,所以一天頂多也只有24筆資料,

但是對於長期的研究與資料的儲存仍然深具意義

程式碼使用方法:

1.用記事本開啟一個文件,取名為 index

2.把左半邊程式碼存入該文件,並把該文件附檔名改為.html

3.在index.html 所在的位置新增一個資料夾叫做 js

4.在js資料夾裡面,用記事本新增一個文件,檔名為 a

5.把JavaScript 欄的code貼到 a裡面,按儲存時把附檔名改為.js, 所以現在你的js資料夾內會多一個 a.js 檔案

你就承認你懶吧(按此下載code)

html

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width">

<script src="https://code.jquery.com/jquery-1.9.1.js"></script>

<title>板橋空汙指數</title>

</head>

<body>

<h1>板橋空氣汙染資訊</h1><hr/>

<div id="content">

<h3>

<div id="hello" class="message">請參閱</div>

細懸浮微粒指標:等級<span id="fpmi">no data</span><br>

空氣汙染指標PSI = <span id="psi">no data</span><br>

主要汙染物 = <span id="mp">no data</span><br>

PM2.5 = <span id="pm25">no data</span> ug/m3<br>

PM10 = <span id="pm10">no data</span> ug/m3<br>

CO = <span id="co">no data</span> ppm<br>

NO = <span id="no">no data</span> ppb<br>

NO2 = <span id="no2">no data</span> ppb<br>

NOx = <span id="nox">no data</span> ppb<br>

O3 = <span id="o3">no data</span> ppb<br>

SO2 = <span id="so2">no data</span> ppb<br>

風向 = <span id="wd">no data</span> 度<br>

風速 = <span id="ws">no data</span>公尺/秒</h3><br><h5>

資料更新時間: <span id="pt">no data</span><br>

</h5>

</div>

<script src="js/a.js"></script>

</body>

</html>

JavaScript

$.get('http://opendata2.epa.gov.tw/AQX.json',function(e){

e.forEach(function(p){

if(p.SiteName=='板橋'){


var fpmi = document.getElementById('fpmi');

fpmi.textContent = p.FPMI;


var psi = document.getElementById('psi');

psi.textContent = p.PSI;


var mp = document.getElementById('mp');

mp.textContent = p.MajorPollutant;


var pm25 = document.getElementById('pm25');

pm25.textContent = p["PM2.5"];


var pm10 = document.getElementById('pm10');

pm10.textContent = p.PM10 ;



var co = document.getElementById('co');

co.textContent = p.CO ;


var no = document.getElementById('no');

no.textContent = p.NO ;



var no2 = document.getElementById('no2');

no2.textContent = p.NO2 ;


var nox = document.getElementById('nox');

nox.textContent = p.NOx ;



var o3 = document.getElementById('o3');

o3.textContent = p.O3 ;

var so2 = document.getElementById('so2');

so2.textContent = p.SO2 ;


var wd = document.getElementById('wd');

wd.textContent = p.WindDirec ;


var ws = document.getElementById('ws');

ws.textContent = p.WindSpeed ;


var pt = document.getElementById('pt');

pt.textContent = p.PublishTime ;

}

});

});