2007年11月9日 星期五

網頁提取

/*
夜之戀綜合社區 Nightly-Love.net

檔案名稱: test.php
檔案版本: 1.0.0.0
建立時間: 17:01 18/4/2007
*/
//getdata('域名', '路徑');
function getdata($host, $path = ''){
$fp = fsockopen($host, 80);
if (!$fp) return 'Error';
fputs($fp, "GET $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\n");
fputs($fp, "Connection: close\n\n");
while (!feof($fp)) {
$response .= fgets($fp, 1024);
}
fclose($fp);
return $response;
}

//---------------------------氣溫 = $temperature 紫外線指數 = $index 相對濕度 = $humidity
$data = getdata('www.hko.gov.hk', '/textonly/forecast/englishwx.htm');
if($data != 'Error') {
// 搜尋目前溫度數據
if(eregi('TEMPERATURE :(.*)DEGREES CELSIUS',$data,$wtmp)){
//過濾空白字元及確定數據為 INT
$dtmp = intval(trim($wtmp[1]));
$temperature = "現時氣溫 $dtmp 度";
unset($wtmp, $dtmp);
}
//---------------------------
//搜尋紫外線指數數據
if(eregi("KING'S PARK :(.*).",$data,$wtmp)){
//過濾空白字元及確定數據為 INT
$dtmp = intval(trim($wtmp[1]));
$index = ", 紫外線指數 $dtmp ";
//等級定義
if($dtmp > 0 && $dtmp <= 2) {
$index .= "(低)";
} elseif($dtmp > 2 && $dtmp <= 5) {
$index .= "(中等)";
} elseif($dtmp > 5 && $dtmp <= 7) {
$index .= "(高)";
} elseif($dtmp > 7 && $dtmp <= 10) {
$index .= "(甚高)";
} elseif($dtmp > 11){
$index .= "(極高)";
}
unset($wtmp, $dtmp);
}
//---------------------------
//搜尋濕度數據
if(eregi('HUMIDITY :(.*)PER CENT',$data,$wtmp)){
//過濾空白字元及確定數據為 INT
$dtmp = intval(trim($wtmp[1]));
$humidity = ", 相對濕度 $dtmp %";
unset($wtmp, $dtmp);
}
} else {
$temperature = $index = $humidity = '';
}

//---------------------------數據排列
$woutput = $temperature . $index . $humidity;

//---------------------------輸出 UTF-8 HTML
header('Content-Type: text/html; charset=utf-8');
echo $woutput;
//---------------------------
?>

沒有留言: