微信开发详解:[4]微信天气预报 学了不少微信开发的东西了,今天就来做一个微信天气预报的公众平台作为示例。
完成本系列第二步,有连接好的微信平台 完成本系列第三步,了解开发基本过程 1
数据源:
要做一个微信查天气的平台,首先要能够取得天气数据,目前我们一般在中国气象网上获取数据。这里有全面准确的天气信息。
数据获取:
一般使用file_get_contents()函数去请求中国气象网的weather/data/101110101.html这个链接(这个是西安的天气) ,不过仅限于学习使用,商业用途请主动联系中国气象网,否则后果自负。
示例:
<php
$url=weather/data/101110101.html
$str=file_get_contents($url);
echo$str;
函数学习:
如上,获取到数据后是一个json 的数据
y1t6d 微信推广 http://www.hotcro.net/index.html
函数json_decode()的功能时将json 数据格式转换为数组。
示例:
<php
$url=weather/data/101110101.html
$str=file_get_contents($url);
$aa=json_decode($str,true);
print_r($aa);
结果,可见json 的数据变成了一个二维数组。 编写数据获取的函数:
在数据获取的链接中,最后面的一串数字是城市代码。所以我们要编写一个通用的函数,只要传一个城市代码的参数就可以返回这个城市的天气情况, 为防止出错,我们让默认查询的是西安的天气。
functionweather($code="101110101"){
y1t6d 微信推广 http://www.hotcro.net/index.html
$url="weather/data/".$code.".html";
$str=file_get_contents($url);
$aa=json_decode($str,true);
print_r($aa);
}
数据处理:
下一步就是对获取到的数据处理,在函数中将获
取到的数据重新组合,将有用的返回。
例如要获取到天气的地方可用:$aa["weatherinfo"]["city"]
我处理的如下,大家不喜欢的可以按自己的格式修改:
<php
functionweather($code="101110101"){
y1t6d 微信推广 http://www.hotcro.net/index.html
$url="weather/data/".$code.".html";
$str=file_get_contents($url);
$aa=json_decode($str,true);
echo$aa["weatherinfo"]["date_y"].$aa["weatherinfo"]["city"]."的天气是:";
echo$aa["weatherinfo"]["temp1"].$aa["weatherinfo"]["weather1"].$aa["weatherinfo"]["wind1"]."<br";
echo" 温馨提示:".$aa["weatherinfo"]["index_d"];
}
weather(101010100);
输入,在函数调用时,我换成了北京的城市代码,所以输出中显示北京的天气。
城市代码列表:
y1t6d 微信推广 http://www.hotcro.net/index.html
正式使用上,应该将城市名和对应代码存在数据库中,用来对应全国各个城市的天气,有php 基础的可以用数据库操作,这个示例中,我们以数组为例,列举几个城市的天气。
$citycode["北京"]="101010100";
$citycode["西安"]="101110101";
$citycode["上海"]="101020100";
$citycode["重庆"]="101040100.";
$citycode["广州"]="101280101";
打开百度bae 编辑平台,先将查询天气的函数放到程序的前面,放置位置。
修改对$keyword的处理, 提示用户查询的城市名,如果我们列举的城市中有,就返回天气,没有就给一个其他提示。
$citycode["北京"]="101010100";
$citycode["西安"]="101110101";
y1t6d 微信推广 http://www.hotcro.net/index.html
$citycode["上海"]="101020100";
$citycode["重庆"]="101040100";
$citycode["广州"]="101280101";
if($citycode[$keyword]!=""){$contentStr=weather($citycode[$keyword]);}
else$contentStr="暂时我们只能查北京, 西安, 上海, 重庆, 广州的天气哦";
到微信中发送对应的城市,试试查询结果,能够查到就说明制作成功了,没有成功的可以留言啊。
对于城市代码,想要更完善的可以对应的添加其他的城市到数组,不过最好的办法是添加到数据库中,实时查询各个城市的天气。对于数据库的操作,以后将会讲到。微信开发详解(共4篇) 上一篇:实现第一个公众平...
y1t6d 微信推广 http://www.hotcro.net/index.html
微信开发详解:[4]微信天气预报 学了不少微信开发的东西了,今天就来做一个微信天气预报的公众平台作为示例。
完成本系列第二步,有连接好的微信平台 完成本系列第三步,了解开发基本过程 1
数据源:
要做一个微信查天气的平台,首先要能够取得天气数据,目前我们一般在中国气象网上获取数据。这里有全面准确的天气信息。
数据获取:
一般使用file_get_contents()函数去请求中国气象网的weather/data/101110101.html这个链接(这个是西安的天气) ,不过仅限于学习使用,商业用途请主动联系中国气象网,否则后果自负。
示例:
<php
$url=weather/data/101110101.html
$str=file_get_contents($url);
echo$str;
函数学习:
如上,获取到数据后是一个json 的数据
y1t6d 微信推广 http://www.hotcro.net/index.html
函数json_decode()的功能时将json 数据格式转换为数组。
示例:
<php
$url=weather/data/101110101.html
$str=file_get_contents($url);
$aa=json_decode($str,true);
print_r($aa);
结果,可见json 的数据变成了一个二维数组。 编写数据获取的函数:
在数据获取的链接中,最后面的一串数字是城市代码。所以我们要编写一个通用的函数,只要传一个城市代码的参数就可以返回这个城市的天气情况, 为防止出错,我们让默认查询的是西安的天气。
functionweather($code="101110101"){
y1t6d 微信推广 http://www.hotcro.net/index.html
$url="weather/data/".$code.".html";
$str=file_get_contents($url);
$aa=json_decode($str,true);
print_r($aa);
}
数据处理:
下一步就是对获取到的数据处理,在函数中将获
取到的数据重新组合,将有用的返回。
例如要获取到天气的地方可用:$aa["weatherinfo"]["city"]
我处理的如下,大家不喜欢的可以按自己的格式修改:
<php
functionweather($code="101110101"){
y1t6d 微信推广 http://www.hotcro.net/index.html
$url="weather/data/".$code.".html";
$str=file_get_contents($url);
$aa=json_decode($str,true);
echo$aa["weatherinfo"]["date_y"].$aa["weatherinfo"]["city"]."的天气是:";
echo$aa["weatherinfo"]["temp1"].$aa["weatherinfo"]["weather1"].$aa["weatherinfo"]["wind1"]."<br";
echo" 温馨提示:".$aa["weatherinfo"]["index_d"];
}
weather(101010100);
输入,在函数调用时,我换成了北京的城市代码,所以输出中显示北京的天气。
城市代码列表:
y1t6d 微信推广 http://www.hotcro.net/index.html
正式使用上,应该将城市名和对应代码存在数据库中,用来对应全国各个城市的天气,有php 基础的可以用数据库操作,这个示例中,我们以数组为例,列举几个城市的天气。
$citycode["北京"]="101010100";
$citycode["西安"]="101110101";
$citycode["上海"]="101020100";
$citycode["重庆"]="101040100.";
$citycode["广州"]="101280101";
打开百度bae 编辑平台,先将查询天气的函数放到程序的前面,放置位置。
修改对$keyword的处理, 提示用户查询的城市名,如果我们列举的城市中有,就返回天气,没有就给一个其他提示。
$citycode["北京"]="101010100";
$citycode["西安"]="101110101";
y1t6d 微信推广 http://www.hotcro.net/index.html
$citycode["上海"]="101020100";
$citycode["重庆"]="101040100";
$citycode["广州"]="101280101";
if($citycode[$keyword]!=""){$contentStr=weather($citycode[$keyword]);}
else$contentStr="暂时我们只能查北京, 西安, 上海, 重庆, 广州的天气哦";
到微信中发送对应的城市,试试查询结果,能够查到就说明制作成功了,没有成功的可以留言啊。
对于城市代码,想要更完善的可以对应的添加其他的城市到数组,不过最好的办法是添加到数据库中,实时查询各个城市的天气。对于数据库的操作,以后将会讲到。微信开发详解(共4篇) 上一篇:实现第一个公众平...
y1t6d 微信推广 http://www.hotcro.net/index.html