导航:首页 > 源码编译 > 郭霖大神天气预报源码

郭霖大神天气预报源码

发布时间: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哈哈~

阅读全文

与郭霖大神天气预报源码相关的资料

热点内容
php登陆次数 浏览:742
python字符转成数字 浏览:822
海川用的是什么服务器 浏览:374
口才是练出来的pdf 浏览:458
云服务器哪个公司性价比高 浏览:515
源码论坛打包 浏览:556
php怎么做成word 浏览:690
python批量生成密钥 浏览:490
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:813
android银行卡识别 浏览:751
怎么在app投放广告 浏览:11
手机文件管理怎么看app名称 浏览:192
程序员学数学哪本书最全 浏览:784
macd实战选股公式源码 浏览:644
加密芯片的计算方法 浏览:189
手机存储为什么找不到微信文件夹 浏览:697
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:146
铁路app怎么买火车票 浏览:311