PHP利用天气API获取天气信息
??? 中国天气网提供了一些查询天气的API,访问时返回天气信息的JSON格式数据,解析就可以得到天气信息:
http://www.weather.com.cn/data/sk/101281601.html
http://www.weather.com.cn/data/cityinfo/101281601.html
http://m.weather.com.cn/data/101281601.html
后面一串数字为城市代码。
?返回的utf-8字符串
于是PHP代码:?运行结果:
方法二:1.可以不用文件,而是从天气网服务器动态获取城市名和ID:当访问这个地址http://m.weather.com.cn/data5/city.xml?服务器就会返还以下代码:知道了省份我们要看这个省有些什么市,就需要依据省份代码来获取不同的文件了,例如云南是05,我们要获取云南所有州市的信息就要访问:http://m.weather.com.cn/data5/city29.xml?返回文本:?http://m.weather.com.cn/data5/city2902.xml果然,返回结果:?http://m.weather.com.cn/data5/city290205.xml?当然,解析数据也可以用Javascript来完成,但是由于Ajax不支持跨域名访问,所以将数据从中国天气网的服务器上获取到本地还需要一个简单服务器脚本来做代理,它的功能只是完成将请求的文件以字符串返还Javascript来做动态数据显示,所以:首先要写一个读取字符串的phpgetstr.phpajax.js?网页部分代码:?运行结果:这样做下拉框中的数据可以动态从天气网的服务器中读取过来再动态加载,因此也不用自己做转换了。
?如果是有图片元素的数据,直接找到图片的链接,将图片链过来就可以了。
?完。