一個抓取天气预报的程序

<html> 

<head> 
<meta http-equiv="Content-Language" content="zh-tw"> 
<meta http-equiv="Content-Type" content="text/html; charset=big5"> 
<title>天氣預報</title> 
<style type="text/css"> 
<!-- 
.white { font-family: 細明體; font-size: 10pt; font-style: normal; line-height: 
normal; color: #FFFFFF; font-weight: normal; text-transform: 
none } 
a:link { font-family: 細明體; font-size: 9pt; font-style: normal; line-height: 10pt; 
color: #0000ff } 
a:visited { font-family: 細明體; font-size: 9pt; font-style: normal; color: #1E83AE; 
line-height: 10pt; font-weight: 100 } 
a:hover { color: #ffffff; background-color: #0000ff } 
.blue { font-size: 10pt; font-family: 細明體; color: #0000FF } 
.black { font-size: 10pt; font-family: 細明體; color: #000000 } 
.red { font-size: 10pt; font-family: 細明體; color: #DA0000 } 
.title { font-size: 10pt; font-family: 細明體; color: #007700 } 
.news { font-size: 10pt; font-family: 細明體; color: #778899 } 
.darkblue { font-size: 10pt; font-family: 細明體; color: #000099 } 
--> 
</style> 
</head> 

<body> 
<? 
include "function.inc"
# 被動更新之氣象讀取法(一天讀一次) 
$data=file("weather.txt"); 
$k=0
$xx=0
#國曆轉西元曆 
$yy=str_replace(" ",""substr($data[2],10,4)); 
$mm=str_replace(" ",""substr($data[2],16,4)); 
$dd=str_replace(" ",""substr($data[2],22,4)); 
$yy=str_replace(" ",""$yy); 
$mm=str_replace(" ",""$mm); 
$dd=str_replace(" ",""$dd); 
$yy=$yy+1911
$mm=strlen($mm)<2?"0".$mm:$mm
$dd=strlen($dd)<2?"0".$dd:$dd
$ymd=$yy."-".$mm."-".$dd
if (
date("Y-m-d")<>$ymd

# 讀氣象資料 
$rdata=file("http://www.cwb.gov.tw/Data/forecast/W02.txt"); 
$link=fopen("weather.txt","w+"); 
# 顯示並寫入行數值 
if($rdata

# 寫入更新的時間 
$addr=getenv('REMOTE_ADDR'); 
fputs($link,date("Y-m-d H:i:s")." $addrn"); 
for(
$j=$i;$j<$i+38;$j++) 

$rdata[$j]=trim($rdata[$j]); 
if(!empty(
$rdata[$j])) 

#中文數字轉換 
$rdata[$j] = str_replace("0"," 0"$rdata[$j]); 
$rdata[$j] = str_replace("1"," 1"$rdata[$j]); 
$rdata[$j] = str_replace("2"," 2"$rdata[$j]); 
$rdata[$j] = str_replace("3"," 3"$rdata[$j]); 
$rdata[$j] = str_replace("4"," 4"$rdata[$j]); 
$rdata[$j] = str_replace("5"," 5"$rdata[$j]); 
$rdata[$j] = str_replace("6"," 6"$rdata[$j]); 
$rdata[$j] = str_replace("7"," 7"$rdata[$j]); 
$rdata[$j] = str_replace("8"," 8"$rdata[$j]); 
$rdata[$j] = str_replace("9"," 9"$rdata[$j]); 
$rdata[$j] = str_replace(" "," "$rdata[$j]); 
fputs($link,$rdata[$j]."n"); 


fclose($link); 


$data=file("weather.txt"); 
for(
$k=1;$k<=20;$k++) 

if(
$k>4

$p1=strpos($data[4],"天"); 
$p2=strpos($data[5],"%")-4
$p3=strpos($data[5],"-")-5
$p4=strpos($data[5],"-")+2
#echo "$p1 $p2 $p3 $p4<br>"; 
$area[$xx]=substr($data[$k],2,12); 
$wea[$xx]=substr($data[$k],$p1,$p2-$p1+1); 
$per[$xx]=substr($data[$k],$p2,4); 
$low[$xx]=substr($data[$k],$p3,5); 
$high[$xx]=substr($data[$k],$p4,6); 
$area[$xx]= str_replace(" ",""$area[$xx]); 
$wea[$xx]= str_replace(" ",""$wea[$xx]); 
$per[$xx]= str_replace(" ",""$per[$xx]); 
$high[$xx]= str_replace(" ",""$high[$xx]); 
$low[$xx]= str_replace(" ",""$low[$xx]); 
#echo "$area[$xx]-$wea[$xx]-$per[$xx]-$low[$xx]-$high[$xx]<br>"; 
$xx++; 


$data[2]=str_replace(" ","",$data[2]); 
$data[2]=str_replace(" ","",$data[2]); 
?> 
<table border="0" width="100%" cellspacing="1"> 
<tr> 
<td width="100%" colspan="6"> 
<table border="0" width="100%" cellspacing="1"> 
<tr> 
<td width="33.3%" class="black"> 
<p align="left"><?echo $data[2];?></td> 
<td width="33.3%" class="blue"> 
<p align="center">今日氣象報告</td> 
<td width="33.3%" class="black"> 
<p align="right">資料提供:<a href="http://www.cwb.gov.tw/" target="_blank">中央氣象局</a></td> 
</tr> 
</table> 
</td> 
</tr> 
<tr> 
<td width="21%" align="center" class="red" bgcolor="#E9D2FF">預報分區</td> 
<td width="23%" align="center" class="red" bgcolor="#E9D2FF">天氣</td> 
<td width="14%" align="center" class="red" bgcolor="#E9D2FF">下雨機率</td> 
<td width="14%" align="center" class="red" bgcolor="#E9D2FF">最低溫</td> 
<td width="14%" align="center" class="red" bgcolor="#E9D2FF">最高溫</td> 
<td width="14%" align="center" class="red" bgcolor="#E9D2FF">溫差</td> 
</tr> 
<? 
$bg_col
="FFFFFF"
$col_var=-1
for(
$k=1;$k<$xx;$k++) 

$pper=$per[$k]==0?"不會下雨":$per[$k]."%"
$wclass=strstr($wea[$k],"雨")?"blue":"title"
$pclass=$per[$k]>=50?"red":"title"
$lclass=$low[$k]<=15?"blue":"title"
$hclass=$high[$k]>=35?"red":"title"
$bgclass=($high[$k]-$low[$k]>10)?"red":"title"
?> 
<tr> 
<td width="21%" align="left" class="black" bgcolor="#E1FFFF"><? echo $area[$k];?></td> 
<td width="23%" align="left" class="<?echo $wclass;?>" bgcolor=<?$bg_col=chg_color($bg_col,$col_var);echo "#$bg_col";?> ><? echo $wea[$k];?></td> 
<td width="14%" align="center" class="<?echo $pclass;?>" bgcolor=<?$bg_col=chg_color($bg_col,$col_var);echo "#$bg_col";?> ><? echo $pper;?></td> 
<td width="14%" align="center" class="<?echo $lclass;?>" bgcolor=<?$bg_col=chg_color($bg_col,$col_var);echo "#$bg_col";?> ><? echo $low[$k]."℃";?></td> 
<td width="14%" align="center" class="<?echo $hclass;?>" bgcolor=<?$bg_col=chg_color($bg_col,$col_var);echo "#$bg_col";?> ><? echo $high[$k]."℃";?></td> 
<td width="14%" align="center" class="<?echo $bgclass;?>" bgcolor=<?$bg_col=chg_color($bg_col,$col_var);echo "#$bg_col";?> ><? echo ($high[$k]-$low[$k])."℃";?></td> 
</tr> 
<? 

?> 
<tr> 
<td width="100%" align="center" colspan="6"> 
<table border="0" width="100%" cellspacing="0"> 
<tr> 
<? 
$bg_col
="FFEEEE"
$col_var=-1
for(
$k=1;$k<=50;$k++) 
{
?> 
<td width="2%" bgcolor=<?$bg_col=chg_color($bg_col,$col_var);echo "#$bg_col";?>></td> 
<?
?> 
</tr> 
</table> 
</td> 
</tr> 
</table> 

</body> 

</html>