天气预报(整合版)

查询国内城市气象数据,同时也支持国外热门城市查询
接口编号: 506接口名称: 天气预报连接应用: 8179个
应用编号: 106012应用标识: weather.realtime服务商: NowAPI

说明

“墙裂”推荐,2019重大天气接口升级,整合大量国内天气功能,真正一个接口搞定所有,含:
1.实时天气,在原有功能基础上新加入风速、能见度、降雨量、气压。
2.未来5-7天预报。
3.未来逐小时预报。
4.PM2.5 aqi。
5.生活指数。
本接口的付费用户可直接使用,免费用户可升级到10元流量包或联系客服开通试用立即升级。

PS: 国外天气无逐小时、AQI、生活指数。

风向对照表
风向Id风向-
0无持续风向-
1东北风-
2东风-
3东南风-
4南风-
5西南风-
6西风-
7西北风-
8北风-
风力对照表
风力Id(wtWinpId)风力wtWinpNm-
0小于3级-
13-4级-
24-5级-
35-6级-
46-7级-
57-8级-
68-9级-
79-10级-
810-11级-
911-12级-
PM2.5 AQI对照
AQI指数等级指标需注意事项
0-501级参加户外活动呼吸清新空气
51-1002级可以正常进行室外活动
101-1503级轻度污染敏感人群减少体力消耗大的户外活动
151-2004级中度污染对敏感人群影响较大
201-3005级重度污染所有人应适当减少室外活动
>3006级严重污染尽量不要留在室外
天气图标 . 天气wtId与图标wtIcon对照接口 https://www.nowapi.com/api/weather.wtype . 天气图标打包下载地址: http://static.nowapi.com/apiStatic/weather/weather-icon.zip (晴wtIcon对应编码是00,那么对应睛(白天) http://static.nowapi.com/apiStatic/weather/icon/d/00.png,夜间 http://static.nowapi.com/apiStatic/weather/icon/n/00.png 注意目录d/n的区别。)

请求方式

Get/Post

请求url

 HTTP: http://api.k780.com
HTTPS: https://sapi.k780.com

请求参数

参数 类型 是否必须 备注
weaid string 城市气象编号,可以是:
. NowAPI定义编号,如: 1 查北京. 城市列表 weaid
. 气象局编号,如: 101010100 查北京
. ip地址,如: 202.104.153.201 归属广东中山
. 城市名,如: 北京 需要城市列表中存在城市列表 citynm
ag string 功能显示参数: today,futureDay,lifeIndex,futureHour
today 显示今日天气节点
futureDay 显示天气预报(未来5-7天)节点
lifeIndex 显示相关节点中生活指数节点
futureHour 显示天气预报(逐小时)节点
多个用逗号隔开,可灵活选择
appkey string 使用API的唯一凭证 获取
sign string md5后的32位密文,登陆用. 获取
format {json|xml} 返回数据格式

Json请求示例

http://api.k780.com/?app=weather.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&appkey=APPKEY&sign=SIGN&format=json

Json返回示例

{
success: "1",
result: {
    weaid: "1",
    cityid: "101010100",
    area_1: "北京",
    area_2: "城区",
    area_3: "",
    realTime: { 
        /*实时天气, 更新>40分钟*/
        week: "星期三",
        wtId: "3", /*天气编号 天气类型 wtId*/
        wtNm: "阴", /*天气 天气类型 wtNm*/
        wtIcon: "02", /*天气图标 天气类型 wtIcon*/
        wtTemp: "18", /*温度℃*/
        wtHumi: "44", /*湿度%*/
        wtWindId: "2", /*风向ID*/
        wtWindNm: "东风", /*风向*/
        wtWinp: "3", /*风力 级*/
        wtWins: "12",/*风速 km/h*/
        wtAqi: "102", /*pm2.5 aqi*/
        wtVisibility: "4.79", /*能见度km*/
        wtRainfall: "0.00", /*降雨量mm*/
        wtPressurel: "997", /*气压hpa*/
    },
    today: {
        /*今日天气*/
        wtBlueSkyId: "1",/*1:可见蓝天 0:无蓝天*/
        wtId1: "1",/*天气编号(白天) 天气类型 wtId*/
        wtId2: "1",/*天气编号(夜间) 天气类型 wtId*/
        wtNm1: "晴",/*天气(白天) 天气类型 wtNm*/
        wtNm2: "晴",/*天气编号(夜间) 天气类型 wtNm*/
        wtIcon1: "00",/*天气图标(白天) 天气类型 icon*/
        wtIcon2: "00",/*天气图标(夜间) 天气类型 icon*/
        wtTemp1: "14",/*温度(白天)*/
        wtTemp2: "1",/*温度(夜间)*/
        wtWindId1: "8",/*风向Id(白天)*/
        wtWindId2: "8",/*风向Id(夜间)*/
        wtWindNm1: "北风",/*风向*/
        wtWindNm2: "北风",/*风向*/
        /*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
        wtWinpId1: "2",/*风力Id(白天)*/
        wtWinpId2: "0",/*风力Id(夜间)*/
        wtWinpNm1: "4-5级",/*风力(白天)*/
        wtWinpNm2: "小于3级",/*风力(夜间)*/
        wtSunr: "06:16",/*日出时间*/
        wtSuns: "18:26",/*日落时间(24小时制)*/
        lifeIndex: { /*指数(含以下5种)*/
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "最弱",
                liDese: "辐射弱,涂擦SPF8-12防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "不易波动",
                liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "不宜",
                liDese: "有雨,雨水和泥水会弄脏爱车。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "良",
                liDese: "气象条件有利于空气污染物扩散。"
            }
        }
    },
    futureDay: [ 
    /*
      未来5-7天气预报,更新每天3次 
      相关栏位当前时段为夜间时会与白天栏位相同
    */
    {
        dateYmd: "2019-03-21",
        week: "星期四",
        wtBlueSkyId: "1",/*1:可见蓝天 0:无蓝天*/
        wtId1: "1",/*天气编号(白天) 天气类型 wtId*/
        wtId2: "1",/*天气编号(夜间) 天气类型 wtId*/
        wtNm1: "晴",/*天气(白天) 天气类型 wtNm*/
        wtNm2: "晴",/*天气编号(夜间) 天气类型 wtNm*/
        wtIcon1: "00",/*天气图标(白天) 天气类型 icon*/
        wtIcon2: "00",/*天气图标(夜间) 天气类型 icon*/
        wtTemp1: "14",/*温度(白天)*/
        wtTemp2: "1",/*温度(夜间)*/
        wtWindId1: "8",/*风向Id(白天)*/
        wtWindId2: "8",/*风向Id(夜间)*/
        wtWindNm1: "北风",/*风向*/
        wtWindNm2: "北风",/*风向*/
        /*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
        wtWinpId1: "2",/*风力Id(白天)*/
        wtWinpId2: "0",/*风力Id(夜间)*/
        wtWinpNm1: "4-5级",/*风力(白天)*/
        wtWinpNm2: "小于3级",/*风力(夜间)*/
        wtSunr: "06:16",/*日出时间*/
        wtSuns: "18:26",/*日落时间(24小时制)*/
        lifeIndex: {
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "中等",
                liDese: "涂擦SPF大于15、PA+防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "易波动",
                liDese: "气温多变,血糖易波动,请注意监测。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "较不宜",
                liDese: "风力较大,洗车后会蒙上灰尘。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "良",
                liDese: "气象条件有利于空气污染物扩散。"
            }
        }
    },
    {
        dateYmd: "2019-03-22",
        week: "星期五",
        wtBlueSkyId: "1",
        wtId1: "1",
        wtId2: "1",
        wtNm1: "晴",
        wtNm2: "晴",
        wtIcon1: "00",
        wtIcon2: "00",
        wtTemp1: "15",
        wtTemp2: "3",
        wtWindId1: "7",
        wtWindId2: "7",
        wtWindNm1: "西北风",
        wtWindNm2: "西北风",
        wtWinpId1: "1",
        wtWinpId2: "1",
        wtWinpNm1: "3-4级",
        wtWinpNm2: "3-4级",
        wtSunr: "06:15",
        wtSuns: "18:27",
        lifeIndex: {
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "中等",
                liDese: "涂擦SPF大于15、PA+防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "不易波动",
                liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "较适宜",
                liDese: "无雨且风力较小,易保持清洁度。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "良",
                liDese: "气象条件有利于空气污染物扩散。"
            }
        }
    },
    {
        dateYmd: "2019-03-23",
        week: "星期六",
        wtBlueSkyId: "1",
        wtId1: "1",
        wtId2: "1",
        wtNm1: "晴",
        wtNm2: "晴",
        wtIcon1: "00",
        wtIcon2: "00",
        wtTemp1: "13",
        wtTemp2: "4",
        wtWindId1: "8",
        wtWindId2: "5",
        wtWindNm1: "北风",
        wtWindNm2: "西南风",
        wtWinpId1: "1",
        wtWinpId2: "1",
        wtWinpNm1: "3-4级",
        wtWinpNm2: "3-4级",
        wtSunr: "06:13",
        wtSuns: "18:28",
        lifeIndex: {
            uv: {
                liNo: "uv",
                liNm: "紫外线指数",
                liAttr: "中等",
                liDese: "涂擦SPF大于15、PA+防晒护肤品。"
            },
            xt: {
                liNo: "xt",
                liNm: "血糖指数",
                liAttr: "不易波动",
                liDese: "天气条件好,血糖不易波动,可适时进行户外锻炼。"
            },
            ct: {
                liNo: "ct",
                liNm: "穿衣指数",
                liAttr: "较冷",
                liDese: "建议着厚外套加毛衣等服装。"
            },
            xc: {
                liNo: "xc",
                liNm: "洗车指数",
                liAttr: "较适宜",
                liDese: "无雨且风力较小,易保持清洁度。"
            },
            kq: {
                liNo: "kq",
                liNm: "空气污染扩散指数",
                liAttr: "中",
                liDese: "易感人群应适当减少室外活动。"
            }
        }
    },
    ......
    ],
    futureHour: [
    /*逐小时天气预报(最多会有未来24个小时段) 字段说明与realTime节点相同*/
    {
         dateYmdh: "2019-03-20 14:00:00",
         wtId: "3", /*天气编号 天气类型 wtId*/
         wtNm: "阴", /*天气 天气类型 wtNm*/
         wtIcon: "02", /*天气图标 天气类型 wtIcon*/
         wtTemp: "19", /*温度℃*/
         wtWindId: "7", /*风向ID*/
         wtWindNm: "西北风", /*风向*/
        /*此处风力与realTime节点不同,使用风力区间表示,wtWinpId与wtWinpNm对应*/
         wtWinpId: "0", /*风力Id*/
         wtWinpNm: "小于3级" /*风力*/
    },
    {
         dateYmdh: "2019-03-20 15:00:00",
         wtId: "8",
         wtNm: "小雨",
         wtIcon: "07",
         wtTemp: "19",
         wtWindId: "6",
         wtWindNm: "西风",
         wtWinpId: "0",
         wtWinpNm: "小于3级"
    },
    {
         dateYmdh: "2019-03-20 16:00:00",
         wtId: "8",
         wtNm: "小雨",
         wtIcon: "07",
         wtTemp: "18",
         wtWindId: "6",
         wtWindNm: "西风",
         wtWinpId: "0",
         wtWinpNm: "小于3级"
    },
    {
         dateYmdh: "2019-03-20 17:00:00",
         wtId: "8",
         wtNm: "小雨",
         wtIcon: "07",
         wtTemp: "17",
         wtWindId: "7",
         wtWindNm: "西北风",
         wtWinpId: "0",
         wtWinpNm: "小于3级"
     },
    ......
    ]
}

示例代码

<?php
header("Content-Type:text/html;charset=UTF-8");
function nowapi_call($a_parm){
    if(!is_array($a_parm)){
        return false;
    }
    //combinations
    $a_parm['format']=empty($a_parm['format'])?'json':$a_parm['format'];
    $apiurl=empty($a_parm['apiurl'])?'http://api.k780.com/?':$a_parm['apiurl'].'/?';
    unset($a_parm['apiurl']);
    foreach($a_parm as $k=>$v){
        $apiurl.=$k.'='.$v.'&';
    }
    $apiurl=substr($apiurl,0,-1);
    if(!$callapi=file_get_contents($apiurl)){
        return false;
    }
    //format
    if($a_parm['format']=='base64'){
        $a_cdata=unserialize(base64_decode($callapi));
    }elseif($a_parm['format']=='json'){
        if(!$a_cdata=json_decode($callapi,true)){
            return false;
        }
    }else{
        return false;
    }
    //array
    if($a_cdata['success']!='1'){
        echo $a_cdata['msgid'].' '.$a_cdata['msg'];
        return false;
    }
    return $a_cdata['result'];
}

$nowapi_parm['app']='weather.realtime';
$nowapi_parm['weaid']='1';
$nowapi_parm['ag']='today,futureDay,lifeIndex,futureHour';
$nowapi_parm['appkey']='APPKEY';
$nowapi_parm['sign']='SIGN';
$nowapi_parm['format']='json';
$result=nowapi_call($nowapi_parm);
var_dump($result);
print_r($result);

#python
import json,urllib
from urllib import urlencode

url = 'http://api.k780.com'
params = {
  'app' : 'weather.realtime',
  'weaid' : '1',
  'ag' : 'today,futureDay,lifeIndex,futureHour',
  'appkey' : 'APPKEY',
  'sign' : 'SIGN',
  'format' : 'json',
}
params = urlencode(params)

f = urllib.urlopen('%s?%s' % (url, params))
nowapi_call = f.read()
#print content
a_result = json.loads(nowapi_call)
if a_result:
  if a_result['success'] != '0':
    print a_result['result'];
  else:
    print a_result['msgid']+' '+a_result['msg']
else:
  print 'Request nowapi fail.';

import java.net.*;
import java.io.*;

public class test{
    public static void main(String args[]) throws Exception {
        URL u=new URL("http://api.k780.com/?app=weather.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&appkey=APPKEY&sign=SIGN&format=json");
        InputStream in=u.openStream();
        ByteArrayOutputStream out=new ByteArrayOutputStream();
        try {
            byte buf[]=new byte[1024];
            int read = 0;
            while ((read = in.read(buf)) > 0) {
                out.write(buf, 0, read);
            }
        }  finally {
            if (in != null) {
                in.close();
            }
        }
        byte b[]=out.toByteArray( );
        System.out.println(new String(b,"utf-8"));
    }
}

curl "http://api.k780.com/?app=weather.realtime&weaid=1&ag=today,futureDay,lifeIndex,futureHour&appkey=APPKEY&sign=SIGN&format=json"

流量包套餐

10元/15000次;买多少用多少,多买有优惠,10元起买,适合大多数应用场景。 费用计算

包月套餐

48.00元每月/每小时1000次调用配额;1000次配额起买,适合调用量比较平均的高频应用场景。 费用计算

实时付套餐

每次调用0.001元,与其它接口共享帐号内余额,适合低频调用场景。 费用计算

免费试用

每小时200次配额;每秒1次并发限制,商用请选择付费套餐。 (系统繁忙或极端情况下,优先保证付费用户使用) 马上试用

客户服务

客服QQ: 1597000273 

客服微信:

商务合作/大客户

362705971 

数据定制

定制接口、定制数据格式、采集等;联系请提供数据样式范本。1597000273 

意见反馈