微信开发详解:[4]微信天气预报

微信开发详解:[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


相关文章

  • 大商所工业品事业部负责人详解聚丙烯交割制度
  • 现货市场是期货市场的基础,交割作为联系两个市场的纽带,关系着期货市场和现货市场的紧密结合,以及价格发现和套期保值两大功能的实现.近日,记者就聚丙烯交割制度设计有关情况采访了大商所工业品事业部负责人,他表示,聚丙烯期货充分借鉴了LLDPE.P ...查看


  • 华盛顿景点介绍
  • 首页 ET频道 预订大厅 信息中心 网上商家 旅游指南 客户服务 信天游动态 国内景点介绍 国际城市介绍 风景月历壁纸 世界时区时刻 旅行百科常识 实时外汇牌价 城市天气预报 后退 ----------------------------- ...查看


  • 八年级语文下册第8课[回延安]教案1长春版
  • 第 8 课<回延安>教学设想 1.由于这是一首距离学生所处年代较远的诗歌,所采用的形式又不是学生所喜闻乐见 的,因此应以"信天游"的歌曲艺术导入,对信天游的形式加以介绍,使学生在对信天游的 感受之中走入课文. ...查看


  • [回延安]学案
  • <回延安>学案设计 大孤山镇九年一贯制学校 八年语文 设计者:石和颖 课前热身: 一.导入新课: 老师课前放的这首民歌歌名是什么?谁唱的?是用什么形式写成的民歌.(信天游) 信天游是一部镌刻在黄土高原的传世巨著,是劳动人民自由酣 ...查看


  • 海洋物理学发展简史
  • 海洋物理学发展简史 物理 001班 邢玉春 海洋物理学是以物理学的理论.技术和方法,研究海洋中的物理现象及其变化规律,并研究海洋水体与大气圈.岩圈和生物圈的相互作用的科学.它是海洋科学的一个重要分支,与大气科学.海洋化学.海洋地质学.海洋生 ...查看


  • 信天游的特点和风格
  • 信天游的特点和风格 滔滔黄河一泻东去,茫茫黄土千古沉积.陕北高原是一块贫瘠的土地,也是一块创造灿烂文明的宝地.质朴的人民没有因自然条件的低劣而消沉,而是用勤劳的双手在这块土地上不断地开拓.耕耘.创作,世代繁衍生息.他们不仅创造了赖以生存的物 ...查看


  • 开发商违约可以退房吗? 详解退房流程
  • 开发商交付的房子不符合商品房买卖协议的约定时,构成开发商违约.开发商违约时,购房者是否可以要求退房呢?买房不容易,退房更麻烦.现在一般的购房人对于退房的相关知识知之甚少,万一遇到了类似这样的麻烦事,业主应该怎么保护自己的权益,可以顺利的办理 ...查看


  • _古舟子咏_中的信天翁意象_王丽
  • 2009年第11卷第5期 总第98期 巢湖学院学报Joumal of Chaohu College No.5.,Vol.11.2009General Serial No.98 <古舟子咏>中的信天翁意象 王 2 丽1, (1巢湖 ...查看


  • 从"信天翁"到"4202工程"
  • 2016年10月25日,俄战略导弹兵从奥伦堡东巴罗夫斯基亚斯内航天器发射场向俄远东勘察加半岛库拉靶场发射了一枚搭载"4202工程"(高超音速滑翔弹头)的SS-19(北约代号)洲际弹道导弹,飞行速度达到了15马赫.此次发射 ...查看


热门内容