APP下载

基于百度云的天气预报软件的设计

2015-09-21郝二伟张家伟金卫同中国洛阳电子装备试验中心洛阳471003

现代计算机 2015年10期
关键词:天气预报百度解析

郝二伟,张家伟,金卫同(中国洛阳电子装备试验中心,洛阳 471003)

基于百度云的天气预报软件的设计

郝二伟,张家伟,金卫同
(中国洛阳电子装备试验中心,洛阳 471003)

0 引言

1.2PHP语言

天气信息查询是人们日常工作生活中经常使用的。公众能够借助这些软件,在第一时间方便且快捷地获取最新的气象预报信息,以便提前预防。互联网上,百度、雅虎等公司都提供了天气预报的API接口,供软件开发人员进行开发调用。经过比较,百度开发云提供的天气预报API在国内城市天气预报上做的信息详实、更新速度快,比较实用。本文基于百度云,设计开发了天气预报查询软件。

1 主要技术

1.1JSON数据

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition-December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯 (包括C、C++、C#、Java、JavaScript、Perl,Python等)。这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成(网络传输速度快)[1]。JSON为数据的表示提供了新的方法,为开发提供了多重原则,在轻量级数据处理的时候,是非常方便的[2]。

PHP是Hypertext Preprocessor(超文本预处理器)的缩写,是一种服务器端、跨平台、面向对象、HTML嵌入式的脚本语言。PHP独特的语法混合了C、Java、Perl的特点,是一种被广泛应用的开源式的多用途脚本语言[3]。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

1.3cURL库

cURL主要用于网页数据的抓取。PHP支持的由Daniel Stenberg创建的libcurl库允许与各种的服务器使用各种类型的协议进行连接和通信。libcurl目前支持HTTP、HTTPS、FTP、Gopher、Telnet、Dict、File和LDAP协议。libcurl同时也支持HTTPS认证、HTTP Post、HTTP Put、FTP上传 (这个也能通过PHP的FTP扩展完成)、HTTP基于表单的上传、代理、cookies和用户名+密码的认证。PHP中使用cURL函数实现Get和Post请求的方法,该函数在PHP 4.0.2版本以后内置于PHP中。

2 百度天气API

2.1使用说明

百度开发云平台提供了众多的API接口,其天气API可根据经纬度/城市名查询天气的结果。用户使用前需要注册账号,获取key。网址为:

http://api.map.baidu.com/telematics/v3/weather?location=城市名&output=json&ak=yourkey

参数定义及描述如表1所示。

表1 参数定义及描述

2.2返回结果

由于XML的数据对象网络传输具有良好的可读性与可扩展性,但受到了浏览器和解析方式的限制。JSON是一种更加简洁的对象封装格式[4]。JSON数据量小,相应的在网络上传输速度快,因而更适合移动Web的开发。在JSON中参数名称及相应含义如表2所示。

返回的JSON数据如下:

表2 JSON中参数名称及含义

3 软件设计与实现

3.1软件设计

PHP服务器通过获取百度API返回的天气信息JSON数据,进行JSON解析后,转换为数组,然后从数组中提取数据。

3.2天气信息的获取

实现代码如下:

//获取指定网站返回的数据

3.3JSON数据解析

实现代码如下:

//进行json数据解析

4 结语

网上各大云服务商提供的众多API接口,为程序开发提供了极大便利。本文利用百度云的天气预报API,设计基于PHP和JSON技术的天气预报软件,实现了基本的天气预报功能。借助PHP在Web开发中的优势,在天气预报上可以进一步结合数据库、绘图等技术,拓展功能。

[1]JSON.http://baike.baidu.com/view/136475.htm,百度百科.

[2]王魁生,王晓波.利用JSON进行网站客户端与服务器数据交互[J].软件导刊,2010(3):147~149

[3]潘欣华,李慧,刘欣等.PHP快速入门及项目实战[M].北京:清华大学出版社,2012

[4]胡晓锋.JSON与XML在网络数据传输中的应用分析[J].电脑编程技巧与维护,2010(10):77~78

API;PHP;JSON

Design of Weather Forecast Query Software Based on Baidu Cloud

HAO Er-wei,ZHANG Jia-wei,JIN Wei-tong
(Luoyang Electronic Equipment Test Center of China,Luoyang 471003)

1007-1423(2015)10-0074-04

10.3969/j.issn.1007-1423.2015.10.021

郝二伟(1982-),男,河南济源人,在读硕士,研究方向为计算机应用技术、软件工程

张家伟(1987-),女,天津人,女,硕士,助理工程师,研究方向为电子与通信工程

金卫同(1983-),男,河北满城人,硕士,工程师,研究方向为计算机与通信

2015-03-03

2015-03-13

查询天气预报的软件一般要求快速、准确而且小巧。通过百度云平台,利用PHP和JSON技术,设计一款方便快捷的天气预报查询软件,充分体现出PHP在Web开发中的优势,即开源、代码运行快、效率高等,除查询日期、未来3天天气情况和穿衣指数外,此软件可结合数据库和绘图等技术,进一步拓展功能。

API;PHP;JSON

Software or plug-in for weather forecast requires fast,exact and small.Based on Baidu Cloud,designs a convenient and fast software for weather forecast query through PHP and JSON,which reflects the advantages of PHP in Web page,namely open source,fast speed and high efficiency.Besides date query,weather forecast for the next three days and dressing index,the software can be combined with other technologies such as database and graphics technology to future expand other functions.

猜你喜欢

天气预报百度解析
三角函数解析式中ω的几种求法
Robust adaptive UKF based on SVR for inertial based integrated navigation
测不准的天气预报
天气预报的前世今生
睡梦解析仪
百度年度热搜榜
电竞初解析
对称巧用解析妙解
中期天气预报
百度医生