導航:首頁 > 源碼編譯 > 郭霖大神天氣預報源碼

郭霖大神天氣預報源碼

發布時間:2023-09-17 03:57:36

1. php怎麼抓取天氣預報

可以藉由php的api或者preg_match_all偷偷擷取去達成目的

這里給你一段我給台灣朋友有一段源碼

<?php

header("Content-Type:text/html;charset=utf-8");
functiongetWeather($city){

$toURL="
$city.htm";
$post=array();
$ch=curl_init();
$options=array(
CURLOPT_REFERER=>'',
CURLOPT_URL=>$toURL,
CURLOPT_VERBOSE=>0,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_USERAGENT=>"Mozilla/4.0(compatible;)",
CURLOPT_POST=>true,
CURLOPT_POSTFIELDS=>http_build_query($post),
);
curl_setopt_array($ch,$options);

$result=curl_exec($ch);
curl_close($ch);
//連接中央氣象局
echo'<pre>';
preg_match_all('/<tableclass="FcstBoxTable01"[^>]*[^>]*>(.*)</div>/si',$result,$matches,PREG_SET_ORDER);

preg_match_all('/<tdnowrap="nowrap"[^>]*[^>]*>(.*)</td>/si',$matches[0][1],$m1,PREG_SET_ORDER);

$m2=explode('</td>',$m1[0][1]);
//print_r($m2);//取得每日資料m2[0~6]

$weather=array();
for($i=0;$i<=6;$i++){

preg_match_all('/src=[^>]*[^>](.*)/si',$m2[$i],$m5,PREG_SET_ORDER);//取得天氣圖檔
$m6=explode('"',$m5[0][0]);
$wi='
($m6[1],'../../');
$wtitle=$m6[3];
print_r($wtitle);
$weather[$i]['date']=date("m-d",mktime(0,0,0,date("m"),date("d")+$i,date("Y")));
$weather[$i]['temperature']=trim(strip_tags($m2[$i]));
$weather[$i]['title']=$wtitle;
$weather[$i]['img']=$wi;
}

return($weather);

}

$weather=getWeather("Taipei_City");
print_r($weather);


//header("Location:loc.php");
?>

首先

$toURL="http://www.cwb.gov.tw/V7/forecast/taiwan/inc/city/$city.htm";

這里是讀取資料的網址

上面的是台灣中央氣象局

	preg_match_all('/<tableclass="FcstBoxTable01"[^>]*[^>]*>(.*)</div>/si',$result,$matches,PREG_SET_ORDER);

preg_match_all('/<tdnowrap="nowrap"[^>]*[^>]*>(.*)</td>/si',$matches[0][1],$m1,PREG_SET_ORDER);

這里是截取台灣中央氣象局網頁信息table class="FcstBoxTable01" [^>]*[^>]*>(.*)</div>的資料以及<td nowrap="nowrap" [^>]*[^>]*>(.*)</td>的資料分別是1天跟1周

$m2=explode('</td>',$m1[0][1]);
//print_r($m2);//取得每日資料m2[0~6]

這里是取得每日的資料

preg_match_all('/src=[^>]*[^>](.*)/si',$m2[$i],$m5,PREG_SET_ORDER);//取得天氣圖檔

這里是取得天氣的圖檔

		$m6=explode('"',$m5[0][0]);
$wi='
($m6[1],'../../');
$wtitle=$m6[3];
print_r($wtitle);
$weather[$i]['date']=date("m-d",mktime(0,0,0,date("m"),date("d")+$i,date("Y")));
$weather[$i]['temperature']=trim(strip_tags($m2[$i]));
$weather[$i]['title']=$wtitle;
$weather[$i]['img']=$wi;

這里是返回的網址,日期,標題,圖檔等等的資料

$weather=getWeather("Taipei_City");
print_r($weather);

然後這里是顯示出地區的一周天氣預報


結論:就是如果你想從網站上面截取天氣預報

在php可以是用preg_match_all(網頁的表格table,表格的列數tr,表格的欄位td,或者更加廣泛的標簽div等等獲取)

2. HTML 求做一個簡單的桂林天氣預報網頁

(源代碼)

<!DOCTYPEhtml>

<html>

<head>

<metacharset="utf-8"/>

<title></title>

<linkrel="stylesheet"type="text/css"href="css/wai.css"/>

</head>

<body>

<divclass="box">

<divclass="top_box">桂林天氣預報</div>

<dlclass="date_box">

<dtclass="tubiao"><imgsrc="img/3.jpg"/></dt>

<dtclass="date">2012年03月14日</dt>

<dtclass="gl">桂林</dt>

<dtclass="zy">氣象信息由<span>中央氣象</span>台提供</dt>

</dl>

<dlclass="nav_box1">

<dtclass="current">當前天氣</dt>

<dtclass="say"><imgsrc="img/2.jpg"/></dt>

<dtclass="shower"><pclass="zy2">陣雨</p><p>12℃~18℃</p></dt>

<dtclass="wz">

<ul>

<liclass="fl">·風力:北風小於3級</li>

<li>·紫外線強度:弱</li>

<li>·空氣質量:良</li>

</ul>

</dt>

</dl>

<dlclass="nav_box2">

<dtclass="current">72小時天氣預報</dt>

<dtclass="date2">2012-03-14</dt>

<dtclass="date2">2012-03-15</dt>

<dtclass="date2">2012-03-16</dt>

<dtclass="say2"><imgsrc="img/1.jpg"/></dt>

<dtclass="say2"><imgsrc="img/1.jpg"/></dt>

<dtclass="say2"><imgsrc="img/1.jpg"/></dt>

<dtclass="wz2">

<ul>

<li>陣雨</li>

<li>12℃~18℃</li>

<li>北風小於3級</li>

</ul>

</dt>

<dtclass="wz2">

<ul>

<li>陣雨</li>

<li>12℃~18℃</li>

<li>北風小於3級</li>

</ul>

</dt>

<dtclass="wz2">

<ul>

<li>陣雨</li>

<li>12℃~18℃</li>

<li>北風小於3級</li>

</ul>

</dt>

</dl>

<dlclass="nav_box3">

<dtclass="tubiao2"><imgsrc="img/4.jpg"/></dt>

<dtclass="city">城市指數</dt>

<dtclass="gd"><ahref="#">更多</a></dt>

<dtclass="ht"></dt>

<dtclass="nav3_l">

<ul>

<li>穿衣指數</li>

<li>舒適度指數</li>

<li>晨練指數</li>

<li>感冒指數</li>

<li>空調指數</li>

<li>洗車指數</li>

<li>空氣污染指數</li>

<li>啤酒指數</li>

<li>晾曬指數</li>

<li>旅行指數</ul>

</ul>

</dt>

<dtclass="nav3_z">

<ul>

<li>舒適</li>

<li>舒適</li>

<li>較不宜</li>

<li>易發</li>

<li>較少開啟</li>

<li>不宜</li>

<li>良</li>

<li>較適宜</li>

<li>不太適宜</li>

<li>適宜</ul>

</ul>

</dt>

<dtclass="nav3_r">

<ul>

<li>建議著溥型套裝或牛仔衫褲等春秋過渡裝。年老體弱者宜著套裝...</li>

<li>溫度適宜,風力不大,您在這樣的天氣條件下,會感到比較清爽和...</li>

<li>有降水,較不宜晨練,室外鍛煉清攜帶雨具.建議年老體弱人群適...</li>

<li>晝夜溫差大,且空氣濕度較大,易發生感冒,請注意適當增減衣服...</li>

<li>您將感到很舒適,一般不需要開啟空調...</li>

<li>不宜洗車,未來24小時內有雨,如果在此期間洗車,雨水和路上...</li>

<li>氣象條件有利於空氣污染物稀釋、擴散和清除,可以室外正常活動...</li>

<li>適理的飲用啤酒可能會增加您舒適的感覺,但要注意適千萬不要過...</li>

<li>有降水,可能會淋濕晾曬的衣物,不太適宜晾曬,請隨時注意天氣...</li>

<li>有降水,溫度適宜,在細雨中遊玩別有一番情調,可不要錯過機會...</ul>

</ul>

</dt>

</dl>

</div>

</body>

</html>

(CSS樣式)

*{

margin:0;

padding:0;

}

ulli{

list-style:none;

}

.top_box{

width:100px;

height:30px;

background:#FFFFFF;

text-align:center;

line-height:30px;

color:blue;

font-weight:bold;

position:absolute;

margin-left:255px;

margin-top:-18px;

}

.box{

width:590px;

height:651px;

border:1pxsolid#0c5d0b;

margin:20pxauto;

background:#FFFFFF;

position:relative;

}

.date_box{

width:550px;

height:35px;

margin:5pxauto;

background:url(../img/5.jpg)no-repeat;

}

.tubiao{

width:35px;

}

.tubiaoimg{

margin-left:10px;

}

.date{

width:130px;

}

.gl{

width:50px;

}

.tubiao,.date,.gl,.zy{

float:left;

height:35px;

height:35px;

color:#b60329;

font-size:14px;

line-height:35px;

font-weight:bold;

}

.zy{

width:230px;

float:right;

text-align:center;

}

.zyspan{

color:black;

}

.nav_box1{

width:505px;

height:100px;

border:1pxsolidgainsboro;

margin:auto;

margin:5pxauto;

}

.current{

width:505px;

height:25px;

background:url(../img/6.jpg)no-repeat;

color:#1c385a;

line-height:25px;

text-indent:1em;

font-size:14px;

font-weight:bold;

}

.say{

width:180px;

height:75px;

float:left;

}

.sayimg{

margin:10px60px;

}

.shower{

width:140px;

height:75px;

float:left;

background:#edf1fa;

text-align:center;

color:#15376b;

font-size:14px;

}

.zy2{

width:140px;

height:20px;

margin-top:15px;

}

.wz{

width:185px;

height:75px;

float:left;

color:#15376b;

font-size:14px;

}

.wzulli{

list-style:none;

text-align:center;

}

.fl{

width:185px;

height:20px;

margin-top:5px;

}

.nav_box2{

width:505px;

height:170px;

border:1pxsolidgainsboro;

margin:5pxauto;

}

.date2{

width:155px;

height:22px;

float:left;

margin-left:10px;

margin-top:10px;

background:#eeeeee;

font-size:14px;

text-align:center;

line-height:22px;

}

.say2{

width:155px;

height:55px;

float:left;

margin-left:10px;

text-align:center;

}

.say2img{

margin-top:10px;

}

.wz2{

width:155px;

height:50px;

background:#eef3f7;

float:left;

margin-left:10px;

}

.wz2ulli{

list-style:none;

text-align:center;

font-size:12px;

}

.nav_box3{

width:505px;

height:270px;

border:1pxsolidgainsboro;

margin:5pxauto;

}

.city{

width:100px;

height:35px;

text-align:center;

float:left;

}

.tubiao2{

width:35px;

height:35px;

color:#b60329;

float:left;

}

.tubiao2img{

margin-left:20px;

}

.gd{

width:35px;

height:35px;

float:right;

}

.city,.tubiao2,.gd{

font-weight:bold;

font-size:14px;

line-height:35px;

}

.gda{

text-decoration:none;

color:black;

display:block;

}

.gda:hover{

color:darkred;

}

.ht{

width:480px;

height:3px;

margin:auto;

background:url(../img/9.jpg)no-repeat;

margin-top:35px;

}

.nav3_l{

width:90px;

height:220px;

float:left;

font-size:12px;

}

.nav3_lulli{

width:90px;

text-align:left;

font-weight:bold;

color:#15376B;

text-indent:1em;

}

.nav3_z{

width:60px;

height:220px;

}

.nav3_zulli{

width:60px;

text-align:left;

font-weight:bold;

color:#000000;

}

.nav3_r{

width:350px;

height:220px;

}

.nav3_r,.nav3_z{

font-size:12px;

float:left;

}

.nav3_rulli{

width:350px;

text-align:left;

color:#666666;

}

.nav3_rulli,.nav3_zulli,.nav3_lulli{

font-weight:bold;

line-height:22px;

height:22px;

}

3. 網頁天氣預報插件代碼

不用安裝插件,你把下面的代碼插入你的網頁中就可以了:第一種: 代碼: <iframe width="145" height="130" border="0" align="center" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" src="" allowTransparency="true"></iframe> 效果預覽: 說明:這種適合於在網頁的邊欄插入。但一個缺點是,上面的4個城市是既定的,無法改成別的。插入時,選好網頁上的位置,直接將左欄的源代碼全部拷進去就行了 第二種: 代碼: <IFRAME ID='ifm2' WIDTH='189' HEIGHT='190' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC=''></IFRAME> 效果預覽: 說明:這種 也適合於在網頁的邊欄插入。上面的城市可以自定,比如廈門可改成別的。定製的方法是修改我代碼中標紅的數字,從1開始代表「香港」開始,每個數字都代表一個城市,廈門是287,具體要哪個城市自己找一下罷。 第三種: 代碼: <IFRAME ID='ifm2' WIDTH='260' HEIGHT='70' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' src=""></iframe> 效果預覽: 說明:這種適合於在網頁的頭欄插入。上面的城市可以自定,比如 石家莊可改成別的。定製的方法是修改我代碼中標紅的數字。具體各個城市對照的id表可在此下載:城市名稱及ID對照表(請右鍵點擊—>另存為)。 第四種: 代碼: <iframe width="469" height="218" border="0" align="center" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" src="廈門" allowTransparency="true"></iframe> 效果預覽: 說明:這種適合於在網頁的正欄插入。上面的城市可以自定,比如廈門可改成別的。定製的方法是修改我代碼中標紅的 名稱。這里比較簡單,直接用漢字改就行了。比如是福州的,你就直接把「廈門」改成福州就行。 第五種: 代碼: <IFRAME ID='ifm1' WIDTH='405' HEIGHT='332' ALIGN='center' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO' SRC=""></IFRAME> 效果預覽: 第六種: 代碼: <iframe width=160 height=230 frameborder=0 scrolling=NO src=南昌></iframe> 效果預覽: 說明:這種適合於在網頁的邊欄插入。上面的城市可以自定,比如南昌可改成別的。定製的方法是修改我代碼中標紅的名稱。這里比較簡單,直接用漢字改就行了。比如是福州的,你就直接把「廈門」改成福州就行 很不錯哦,你可以試下
qgulqjbsvk62041435102011-10-12 9:09:45

4. 天氣預flash格式的代碼

http://www.weather.com.cn/static/html/weather_cj.shtml

進上面的網站,裡面有很多代碼,非常好用!

呵呵,好喜歡你的高分O(∩_∩)O哈哈~

閱讀全文

與郭霖大神天氣預報源碼相關的資料

熱點內容
msf埠遷移命令 瀏覽:880
工商app積分怎麼查詢 瀏覽:143
鐵路app怎麼買火車票 瀏覽:309
移魅族除的app怎麼添加 瀏覽:240
兔籠子大號加密 瀏覽:171
單片機程序燒錄操作成功 瀏覽:878
指標高拋低吸點位源碼 瀏覽:205
25匹壓縮機銅管 瀏覽:570
單片機單燈左移05 瀏覽:150
買伺服器練手什麼配置 瀏覽:783
伺服器被毀該怎麼辦 瀏覽:939
python私有庫 瀏覽:514
Python有中文嗎 瀏覽:736
麥塊的伺服器為什麼都進不去 瀏覽:474
新買的伺服器如何打開 瀏覽:35
安卓軟體游戲怎麼開發 瀏覽:319
用撲克擺愛心解壓神器怎麼擺 瀏覽:70
松下製冷壓縮機 瀏覽:275
pdf里怎麼修改文字 瀏覽:686
已保存文檔加密如何設置 瀏覽:413