当前位置:首页 » 编程语言 » php天气代码

php天气代码

发布时间: 2023-01-08 07:56:20

1. 如何使用php调用API接口实现天气查询功能

最近在做微信公众平台测试时,想在里面子菜单上添加查询未来几天(包括今天)天气的功能,就查找了下好用的天气预报查询接口API,使用比较多的有:国家气象局天气接口、新浪天气预报接口、网络天气预报接口、google天气接口、Yahoo天气接口等等,我使用的是网络提供的免费天气查询接口API,下面与大家分享下...

1、查询方式:

网络提供的是根据纬度和城市名查询天气情况

2、接口事例:


2. 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等等获取)

3. 谁帮我找一个天气预报网页代码

代码如下:
<iframe id=weatherwin border=0 name=weatherwin marginWidth=0 marginHeight=0 src="http://weather.369.com/weather.html" frameBorder=no width=160 scrolling=no height=60></iframe>

也可以用265.com的代码.在那里上网就显示那里的天气

4. 求本链接的天气预报代码

把这个网址插入到网页对话框中就会自动显示访问者地区的天气预报

5. 网页中加天气预报代码 能显示国外的天气

<iframe src=" http://tsov.net/tq/weather.php?bgcolor=383838&txtcolor=eee " width="205" height="131" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" border="0" /></iframe> 把这段代码中的 那个网址【 http://tsov.net/tq/weather.php?bgcolor=383838&txtcolor=eee 】换成有你 想要地方的天气的网址即可,另外注意高度和宽度要适合。原理很简单,你 可以往那儿放个网络试试 追问: <iframe src=" http://www.thinkpage.cn/weather/weather.aspx?c=UKXX0085&l=zh-TW&p=MSN&a=1&u=C&s=2&m=1&x=1&d=0&fc=00B0F0&bgc=&bc= " frameborder="0" scrolling="no" width="200" height="130" allowTransparency="true"></iframe> 这个是我头刚找到的 你说的我没试出来 谢谢 回答: 那我 都试出来了 呀,,刚才,你 可以吧那代码保存成HTML再打开看看是否如意 追问: <iframe src=" http://www..com/tq/weather.php?bgcolor=383838&txtcolor=eee " width="205" height="131" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" border="0" /></iframe> 是这样改吗 回答: <iframe src=" http://www.thinkpage.cn/weather/weather.aspx?c=UKXX0085&l=zh-TW&p=MSN&a=1&u=C&s=2&m=1&x=1&d=0&fc=00B0F0&bgc=&bc= " frameborder="0" scrolling="no" width="200" height="130" allowTransparency="true"></iframe> 就用这个代码,保存成HTML再打开看 追问: 这个不是我刚发给你的吗 这个我试过了 可以的 我是说你让我改的没试出来 回答: http://www..com/tq/weather.php?bgcolor=383838&txtcolor=eee " 这网址本来就打不开, 我的 意思是网址你可以随便换,只是注意宽和高,就行

记得采纳啊

6. 我的世界天气指令代码大全


1、天气指令有以下几种:下雨,输入/weatherrain。
2、不下雨,输入/weatherclear。
3、雷阵雨,输入/weatherthunder。
4、weatherrain(下雪)。
5、weatherclear(无天气)。
6、weatherthunder(暴风雪)。

7. 求网站中加入天气预报的代码

下面这段是它的源文件
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>07越秀</title>
<link href="../css/ddg.css" rel="stylesheet" type="text/css">
</head>

<body style="background-color:transparent">

<table width="100%" height="80" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="15"><img src="images/spacer.gif" width="1" height="8" /></td>
</tr>
<tr>
<td width="60" align="center" valign="top"><!--5-12修改6开始--><img src="http://weather.news.163.com/weather/images/logo/01.gif" alt="" /><img src="http://weather.news.163.com/weather/images/logo/03.gif" alt="" /><!--5-12修改6结束--></td>
<td align="left" valign="top"><font id="dateFont">2007年1月16日<br />
星期二 下午17:02<br />
</font>
<script>
var day = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
function showDate()
{
font = document.getElementById("dateFont");
var now = new Date();
var str = "";
var hours = now.getHours() + "";
if(hours.length < 2)
{
hours = "0" + hours;
}
var minutes = now.getMinutes() + "";
if(minutes.length < 2)
{
minutes = "0" + minutes;
}
var seconds = now.getSeconds() + "";
if(seconds.length < 2)
{
seconds = "0" + seconds;
}
str += "<font style=\"color:#000000;\"><b>" + now.getFullYear() + "年" + (now.getMonth() + 1) + "月" + now.getDate() + "日</b></font><br><font style=\"color:#EB7002;\">" + day[now.getDay()] + " " + hours + ":" + minutes + ":" + seconds + "</font><br>";
font.innerHTML = str;
}
setInterval("showDate()" , 1000);
</script>
<font style="color:#EB7002;">
多云转阵雨 25℃~34℃
</font></td>
</tr>
<tr>
<td height="8"><img src="images/spacer.gif" width="1" height="8" /></td>
</tr>
</table>

</body>
</html>

再给你推荐一个根据不同IP显示不同地区的代码:
<iframe src="http://www.ttyyy.com/tianqi/tq.html" width="160" height="60" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
都试试吧

8. php获取天气预报的代码

<?php
$URLStyle="http://flash.weather.com.cn/wmaps/xml/%s.xml";
$chinaURL=sprintf($URLStyle,"china");
$chinaStr=file_get_contents($chinaURL);
$chinaObj=simplexml_load_string($chinaStr);
$chinaObjLen=count($chinaObj->city);
echo"chinaObjLen=".$chinaObjLen." ";
for($i=0;$i<$chinaObjLen;$i++){
//遍历省一级节点,共37个
$level1=$chinaObj->city[$i]["pyName"];
$shengjiURL=sprintf($URLStyle,$level1);
$shengjiStr=file_get_contents($shengjiURL);
//echo$shengjiStr;
$shengjiObj=simplexml_load_string($shengjiStr);
$shengjiObjLen=count($shengjiObj->city);
//echo$chinaObj->city[$i]["quName"];
//echo"".$shengjiObjLen." ";
for($j=0;$j<$shengjiObjLen;$j++){
//遍历市一级节点
$level2=$shengjiObj->city[$j]["pyName"];
$shijiURL=sprintf($URLStyle,$level2);
$shijiStr=file_get_contents($shijiURL);
//echo$shijiStr;
$shijiObj=simplexml_load_string($shijiStr);
//直辖市和海南、台湾、钓鱼岛等没有县级节点
if(!$shijiObj){
echo"WARNNING:notexsitnextlevelnode.-".$level1."-".$shijiURL." ";
echo'"'.$shengjiObj->city[$j]["cityname"].'"=>';
echo$shengjiObj->city[$j]["url"].", ";
continue;
}
$shijiObjLen=count($shijiObj->city);
//echo$shengjiObj->city[$j]["cityname"]."";
//echo$shijiObjLen." ";
for($k=0;$k<$shijiObjLen;$k++){
//遍历县一级节点
$xianji_code=$shijiObj->city[$k]["url"];
echo'"'.$shijiObj->city[$k]["cityname"].'"=>';
echo$shijiObj->city[$k]["url"].", ";
//echo$xianji_code." ";
}
}
}
//print_r($chinaObj);
?>

通过XML接口根节点递归获得全国几千个县以上城市cide code的代码

9. 怎样用php自动在24点时将天气情况加入数据库

找一段天气预报代码,将返回的json代码通过连接语句插入到数据库中。

然后每天24点定时访问这个php链接就可以了。

10. 天气预报代码

根据IP地址,显示当地的天气预报:
<iframe src="http://www.tianqi123.com/php/current_city.php" width=178 height=248 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no align=center id=url></iframe>

第二个:265的.
<iframe src=http://www.cms52.cn/cms/20080301/"http://weather.265.com/weather.htm" width="168" height="54" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no">
</iframe>

第三个:腾讯QQ的:
<iframe SRC='http://weather.qq.com/inc/ss258.htm' id='ifm2' WIDTH='189' HEIGHT='190' ALIGN='CENTER' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO'></iframe>

第四个:还是腾讯QQ的:
<iframe SRC=http://www.cms52.cn/cms/20080301/"http://weather.qq.com/24.htm" id='ifm1' WIDTH='405' HEIGHT='332' ALIGN='center' MARGINWIDTH='0' MARGINHEIGHT='0' HSPACE='0' VSPACE='0' FRAMEBORDER='0' SCROLLING='NO'></iframe>

再送你一款QQ电台的调用,蛮小巧的:
<IFRAME marginWidth=0 marginHeight=0 src=http://www.cms52.cn/cms/20080301/"http://listen.qq.com/cj/player.htm" frameBorder=0 width=255 scrolling=no height=30></IFRAME>

热点内容
编程让 发布:2025-07-10 09:48:13 浏览:357
数据库逻辑存储结构 发布:2025-07-10 09:26:56 浏览:920
密码编译找规律 发布:2025-07-10 09:18:10 浏览:512
电影视频缓存后 发布:2025-07-10 09:16:48 浏览:894
服务器搭建需要哪些东西 发布:2025-07-10 09:15:23 浏览:802
无限密码怎么改 发布:2025-07-10 09:14:32 浏览:106
coc按键精灵脚本 发布:2025-07-10 09:12:40 浏览:313
excel表格ftp函数 发布:2025-07-10 09:05:50 浏览:278
u2game的解压密码 发布:2025-07-10 09:05:14 浏览:598
c语言编译器ide苹果下载 发布:2025-07-10 09:05:13 浏览:295