天气预报API

天气预报API详解与应用
天气预报API  
新浪天气预报API

http://php.weather.sina.com.cn/xml.php?city=武汉&password=DJOYnieT8234jlsK&day=0

其中,city后的城市可用java.net.URLEncoder.encode(“武汉”,” gb2312”);也可以直接写”武汉”;但不能用”wuhan”。

Password固定

Day为0表示当天天气,1表示第二天的天气,2表示第三天的天气,以此类推,最大为4

返回的XML

 

      说明:

 

 

     

标签中1表示白天,2表示夜间

 

<status>

< figure>

<direction>

<power>

<temperature>

<ssd>

<ssd_l>

<ssd_s>

<tgd>

<zwx>

<zwx_l>

<zwx_s>

<ktk>

<ktk_l>

<ktk_s>

<pollution>

<pollution_l>

<pollution_s>

<xcz>

<xcz_l>

<xcz_s>

<chy>

<chy_l>

<chy_shuoming>

<gm>

<gm_l>

<gm_s>

<yd>

<yd_l>

<yd_s>

<zho>

<zho_l>

<zho_shuoming>

<diy>

<diy_l>

<diy_shuoming>

<fas>

<fas_l>

<fas_shuoming>

<savedate_weather>

<savedate_life>

<savedate_zhishu>

天气情况中文

天气情况拼音

风向

风级

温度

体感指数数值

体感度指数

体感度指数说明

体感温度

紫外线指数数值

紫外线指数

紫外线指数说明

空调指数数值

空调指数

空调指数说明

污染指数数值

污染物扩散条件

污染指数说明

洗车指数数值

洗车指数

洗车指数说明

穿衣指数数值

穿衣指数

穿衣说明

感冒指数数值

感冒指数

感冒指数说明

运动指数数值

运动指数

运动指数说明

 

 

 

 

 

 

 

 

 

天气预报日期

生活日期

指数日期

   

 

www.weather.com

http://xoap.weather.com/weather/local/CHXX0138?cc=*&unit=m&dayf=2&link=xoap&prod=xoap&par=1220552427&key=c168fcf83120f8ed

 

CHXX0138 为武汉的天气代码

Unit=m 温度以摄氏度显示;去掉该参数,温度以华氏度显示

Dayf为0,1返回当天天气,其他数字为多天天气,最大可为5,返回当天及往后4天的天气预报

Par为注册时返回的Partner ID: 1220552427

Key为注册时返回的License Key: c168fcf83120f8ed

 

说明:

 

<loc id="CHXX0138">

<dnam>Wuhan, China</dnam>

<tm>11:37 AM</tm>

<lat>30.58</lat>

<lon>114.27</lon>

<sunr>6:49 AM</sunr>

<suns>5:26 PM</suns>

<zone>8</zone>

</loc>

城市的天气代码

城市,国家

查询时间

纬度

经度

日出时间

日落时间

 

 

<cc></cc>

当前天气

<lsup>11/16/10 10:00 AM Local Time</lsup>

<obst>Wuhan, CHINA</obst>

<tmp>48</tmp>

<flik>48</flik>

<t>Fog</t>

<icon>20</icon>

更新时间

 

当前温度

体感温度

天气情况

天气图标

<bar>

<r>30.36</r>

<d>steady</d>

</bar>

 

 

 

 

<wind>

<s>2</s>

<gust>N/A</gust>

<d>0</d>

<t>VAR</t>

</wind>

 

风速2英里/小时

 

 

 

 

<dayf></dayf >

 

 

传入的dayf参数,查询几天就有几个child

<lsup>11/16/10 2:36 PM Local Time</lsup>

- <day d="0" t="Tuesday" dt="Nov 16">

  <hi>N/A</hi>

<low>43</low>

<sunr>6:49 AM</sunr>

<suns>5:26 PM</suns>

- <part p="d">

<icon>44</icon>

<t>N/A</t>

- <wind>

<s>N/A</s>

<gust>N/A</gust>

<d>N/A</d>

<t>N/A</t>

</wind>

<bt>N/A</bt>

<ppcp>10</ppcp>

<hmid>N/A</hmid>

</part>

- <part p="n">

<icon>33</icon>

<t>Mostly Clear</t>

- <wind>

<s>5</s>

<gust>N/A</gust>

<d>131</d>

<t>SE</t>

</wind>

<bt>M Clear</bt>

<ppcp>10</ppcp>

<hmid>92</hmid>

</part>

</day>

更新时间

日期

高温

低温

日出时间

日落时间

白天天气情况

天气图标

 

 

 

 

风向

 

 

Chance of Precip:10%

 

 

夜间天气情况

天气图标

大部分地区晴朗无云

5英里/小时

 

东南风

风向:东南风

 

 

Chance of Precip:10%

 

 

 

www.weather.com.cn

http://m.weather.com.cn/data/101200101.html数据页面

101200101 为武汉的城市代码

http://61.4.185.48:81/g/ 得到本机访问的IP,根据此IP查询到城市ID,

var ip="61.183.248.221";var id=101200101;if(typeof(id_callback)!="undefined"){id_callback();}

再根据城市ID返回该城市天气信息

http://m.weather.com.cn/m/pn12/weather.htm

该地址为天气插件的代码

各城市ID 《中国天气网城市代码.txt》

yahoo天气预报

http://xml.weather.yahoo.com/forecastrss?w=2163866&u=c

w对应各个地方在yahoo数据库中的WOEID,如北京的WOEID是2151330;武汉为2163866;

u 为温度的单位,c表示摄氏度;f表示华氏度

 

http://xml.weather.yahoo.com/forecastrss?p=CHXX0138&u=c

p为城市天气代码,不推荐使用

没有预报几天的参数(或未找到),返回的XML中含有当天和第二天的天气基本情况。

 

说明:

 

<yweather:location city="Wuhan" region="" country="CH" />

<yweather:units temperature="C" distance="km" pressure="mb" speed="km/h" />

<yweather:wind chill="9" direction="0" speed="3.22" />

<yweather:atmosphere humidity="100" visibility="1.59" pressure="1015.92" rising="0" />

<yweather:astronomy sunrise="6:49 am" sunset="5:25 pm" />

位置:城市,国家

单位:温度单位(摄氏),间距单位,气压单位,风速单位

风:冷风级别9,风向,风速3.22

大气情况:湿度,能见度,压强,

 

天文:日出6:49am,日落5:25pm

<title>Conditions for Wuhan, CH at 10:00 am CST</title>

<geo:lat>30.58</geo:lat>

<geo:long>114.27</geo:long>

<link></link>

<pubDate>Tue, 16 Nov 2010 10:00 am CST</pubDate>

<yweather:condition text="Fog" code="20" temp="9" date="Tue, 16 Nov 2010 10:00 am CST" />

 

纬度

经度

链接

更新时间/查询时间

天气情况:text天气情况(雾),code天气图标,temp温度9摄氏度,date日期

<yweather:forecast day="Tue" date="16 Nov 2010" low="6" high="16" text="Mostly Sunny" code="34" />

<yweather:forecast day="Wed" date="17 Nov 2010" low="8" high="19" text="Sunny" code="32" />

天气预报:day星期,date日期,low低温,high高温,text天气情况,code天气图标

 

 

### 天气预报 API 接口开发与集成指南 在开发中集成天气预报 API 是一个常见需求,尤其是在需要提供实时天气信息的应用场景中。以下是一些关键点和步骤,帮助你更好地理解和实现这一功能。 #### 获取天气预报 API 的基本流程 1. **选择合适的 API 服务提供商** 在选择天气 API 时,需综合考虑数据准确性、更新频率、覆盖范围、调用限制、费用以及接口易用性等因素。常见的天气 API 提供商包括 OpenWeatherMap、WeatherAPI、高德天气 API 和和风天气 API 等 [^2]。OpenWeatherMap 是一个广泛使用的开放平台,提供全球范围内的天气数据。 2. **注册并获取 API 密钥** 对于大多数天气 API 服务,开发者需要先在其官方网站上注册账号,并申请 API 密钥(API Key)。以 OpenWeatherMap 为例,用户可以通过其官网注册账户后获取免费或付费版本的 API 密钥 [^1]。 3. **调用 API 获取实时天气数据** 一旦获得了 API 密钥,就可以通过发送 HTTP 请求来调用天气 API获取实时天气数据。通常情况下,API 会返回 JSON 格式的响应数据,包含温度、湿度、风速等信息。 4. **处理 API 响应数据** 开发者需要编写代码解析 API 返回的数据,并将其转换为应用程序所需的格式。例如,在 Python 中可以使用 `requests` 库发送 HTTP 请求,并利用 `json` 模块解析返回的 JSON 数据。 5. **错误处理与异常情况应对** 在实际开发过程中,可能会遇到网络连接失败、API 调用次数超出限制等问题。因此,建议在代码中加入适当的错误处理机制,确保程序能够优雅地处理这些异常情况。 #### 示例代码:Python 调用 OpenWeatherMap API 下面是一个简单的 Python 示例,展示如何调用 OpenWeatherMap 的 API获取指定城市的当前天气信息: ```python import requests import json def get_weather(city_name, api_key): """ 获取指定城市的当前天气信息 参数: city_name (str): 城市名称 api_key (str): OpenWeatherMap API 密钥 返回: dict: 包含天气信息的字典 """ base_url = "http://api.openweathermap.org/data/2.5/weather?" complete_url = f"{base_url}appid={api_key}&q={city_name}" response = requests.get(complete_url) data = response.json() if data["cod"] != "404": main_data = data["main"] current_temperature = main_data["temp"] current_humidity = main_data["humidity"] weather_description = data["weather"][0]["description"] return { "temperature": round(current_temperature - 273.15, 2), # 将 Kelvin 转换为 Celsius "humidity": current_humidity, "description": weather_description } else: return {"error": "City not found"} # 使用示例 api_key = "your_api_key_here" # 替换为你自己的 API 密钥 city_name = "Beijing" weather_info = get_weather(city_name, api_key) if "error" in weather_info: print(weather_info["error"]) else: print(f"Temperature: {weather_info['temperature']}°C") print(f"Humidity: {weather_info['humidity']}%") print(f"Description: {weather_info['description']}") ``` #### 注意事项 - **API 调用频率限制**:许多天气 API 服务都有每日请求次数的限制,特别是在免费版中。务必查阅所选 API 的文档,了解其调用限制。 - **数据隐私与安全**:在使用第三方 API 时,应注意保护用户的地理位置等敏感信息,避免泄露。 - **API 版本更新**:随着时间推移,API 可能会经历多个版本迭代,旧版本可能被弃用。定期检查官方文档,确保使用的 API 仍然是最新且支持的版本。 通过以上步骤和技术要点,你可以顺利地将天气预报 API 集成到你的项目中,为用户提供准确的实时天气信息。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值