博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中国天气网API
阅读量:5277 次
发布时间:2019-06-14

本文共 5378 字,大约阅读时间需要 17 分钟。

中国天气网有三个 API 适用于不同场合的使用。

 这个接口返回的格式如下。

{    "weatherinfo": {        "city": "哈尔滨", // 城市中文名        "city_en": "haerbin", // 城市英文名        "date_y": "2012年8月18日", // 发布日期        "date": "", // ?        "week": "星期六", // 周信息        "fchh": "18", // 信息发布时的整点小时数(感谢读者 白白乌鸦 的提醒)        "cityid": "101050101", // 城市ID        "temp1": "18℃~26℃", // 今日气温        "temp2": "17℃~29℃", // 明日气温        "temp3": "18℃~23℃", // 第三日气温        "temp4": "13℃~24℃", // 第四日气温        "temp5": "15℃~31℃", // 第五日气温        "temp6": "14℃~32℃", // 第六日气温        "tempF1": "64.4℉~78.8℉", // 今日气温(华氏)        "tempF2": "62.6℉~84.2℉", // 明日气温(华氏)        "tempF3": "64.4℉~73.4℉", // 第三日气温(华氏)        "tempF4": "55.4℉~75.2℉", // 第四日气温(华氏)        "tempF5": "59℉~87.8℉", // 第五日气温(华氏)        "tempF6": "57.2℉~89.6℉", // 第六日气温(华氏)        "weather1": "多云", // 今日天气        "weather2": "晴转多云", // 明日天气        "weather3": "雷阵雨转小雨", // 第三日天气        "weather4": "多云", // 第四日天气        "weather5": "晴", // 第五日天气        "weather6": "晴", // 第六日天气        "img1": "1", // 天气图标编号,此处的编号及其图片获取规则尚不清楚,如有知道详情的恳请评论告知,我将添加说明        "img2": "99", // 天气图标编号        "img3": "0", // 天气图标编号        "img4": "1", // 天气图标编号        "img5": "4", // 天气图标编号        "img6": "7", // 天气图标编号        "img7": "1", // 天气图标编号        "img8": "99", // 天气图标编号        "img9": "0", // 天气图标编号        "img10": "99", // 天气图标编号        "img11": "0", // 天气图标编号        "img12": "99", // 天气图标编号        "img_single": "1", // ? 可能是天气图标编号        "img_title1": "多云", // ? 可能是天气图标对应的 title        "img_title2": "多云", // ? 可能是天气图标对应的 title        "img_title3": "晴", // ? 可能是天气图标对应的 title        "img_title4": "多云", // ? 可能是天气图标对应的 title        "img_title5": "雷阵雨", // ? 可能是天气图标对应的 title        "img_title6": "小雨", // ? 可能是天气图标对应的 title        "img_title7": "多云", // ? 可能是天气图标对应的 title        "img_title8": "多云", // ? 可能是天气图标对应的 title        "img_title9": "晴", // ? 可能是天气图标对应的 title        "img_title10": "晴", // ? 可能是天气图标对应的 title        "img_title11": "晴", // ? 可能是天气图标对应的 title        "img_title12": "晴", // ? 可能是天气图标对应的 title        "img_title_single": "多云", // ? 可能是天气图标对应的 title        "wind1": "西南风小于3级转西风3-4级", // 今日风向风力信息        "wind2": "西风小于3级转西南风3-4级", // 明日风向风力信息        "wind3": "西南风小于3级转3-4级", // 第三日风向风力信息        "wind4": "西南风小于3级转3-4级", // 第四日风向风力信息        "wind5": "西南风小于3级转3-4级", // 第五日风向风力信息        "wind6": "西南风小于3级转3-4级", // 第六日风向风力信息        "fx1": "西南风", // ?         "fx2": "西风", // ?         "fl1": "小于3级转3-4级", // 今日风力信息        "fl2": "小于3级转3-4级", // 明日风力信息        "fl3": "小于3级转3-4级", // 第三日风力信息        "fl4": "小于3级转3-4级", // 第四日风力信息        "fl5": "小于3级转3-4级", // 第五日风力信息        "fl6": "小于3级转3-4级", // 第六日风力信息        "index": "热",        "index_d": "天气较热,建议着短裙、短裤、短套装、T恤等夏季服装。年老体弱者宜着长袖衬衫和单裤。",        "index48": "炎热",        "index48_d": "天气炎热,建议着短衫、短裙、短裤、薄型T恤衫、敞领短袖棉衫等清凉夏季服装。",        "index_uv": "中等", // 紫外线信息        "index48_uv": "弱", // 48 小时紫外线信息        "index_xc": "较适宜", // 洗车指数(感谢读者 刘睿 的提醒)        "index_tr": "适宜", // 旅游指数        "index_co": "舒适", // 舒适指数        "st1": "25",        "st2": "17",        "st3": "28",        "st4": "19",        "st5": "18",        "st6": "16",        "index_cl": "较适宜", // 晨练指数        "index_ls": "适宜", // 晾晒指数        "index_ag": "极易发" // 感冒指数(感谢读者 刘睿 的提醒)    }}

  

上面这个就是我现在在用的,返回的数据最全面,也是绝大多数博客中都会介绍的。另外还有两个接口比较简洁。

 这个接口返回的数据是实况数据,像下面这样的。

{    "weatherinfo": {        "city": "北京", // 城市中文名        "cityid": "101010100", // 城市 ID        "temp": "24", // 温度        "WD": "西南风", // 风向        "WS": "1级", // 风力        "SD": "92%", // 湿度        "WSE": "1", // ?         "time": "19:15", // 发布时间        "isRadar": "1", // 是否有雷达图         "Radar": "JC_RADAR_AZ9010_JB" // 雷达图编号,雷达图的地址在 http://www.weather.com.cn/html/radar/雷达图编号.shtml     }}

  还有一个接口 这个接口返回的数据如下。

{    "weatherinfo": {        "city": "北京", // 城市中文名        "cityid": "101010100", // 城市 ID        "temp1": "22℃", // ?         "temp2": "31℃", // ?         "weather": "阴转晴", // 天气        "img1": "n2.gif", // ? 天气图标编号        "img2": "d0.gif", // ? 天气图标编号        "ptime": "18:00" // 发布时间    }}

  

另外中国天气网还有一个根据 IP 来判断访问者所在地的引擎,地址在 ,直接访问的话会提示“This is the geoip engine created for weather.com.cn. ”,访问 可以返回你的 IP 所在地相应信息,包括 IP 和城市编号,但是没有城市名称。

2013 年 8 月 2 日更新:返回数据最多的那个接口,即本文中最开始介绍的接口,其中的图片获取规则因为博文发布时间久远,我已经遗忘了。如果有哪位读者知道的话,恳请评论告知,我好添加到文章中,方便各位的共享。

另外,天气网本身有另一个用于 Flash 的接口。在天气网上查询任意一个城市的天气,可以看到其页面上有一个 Flash 绘制的“整点天气实况”,就是当天的气温曲线。里面的数据是从  这个接口获得的。返回数据如下。

  

稍作解析: sktq 是“实况天气”的汉语拼音首字母缩写,这个节点的 id 是城市 ID ,ptime 即是发布时间, city 是城市的名称。根节点内是一系列 qw 节点, qw 即是“气温”的汉语拼音缩写;每个节点中, h 是整点小时数,即此节点数据发布时间的小时位; wd 是温度,以摄氏计; fx 是风向,貌似是个角度,具体的规则我还不太清楚; fl 是风力级数; js 是降水,以毫米计; sd 是相对湿度,以百分数计。这一系列节点是以时间逆序排列的,也就是说,接近当前时间的排在前面。

要使用这个接口的数据,跟其他接口一样,也需要解决读者评论中提到的跨域问题,我个人的建议是用自己的服务器做代理转发,经过代理层之后是要用 JSON 还是 JSONP 或者 Flash 跨域,就随自己喜好和项目需求了吧。

2013 年 8 月 22 日更新:四个图片接口依次如下:

, 

。其中图片编号 99 代表空图片。

对于想手动获取城市代码的朋友,也有几个接口提供给大家。获取省级代码的接口: ,获取城市代码的接口(比如安徽省是 22 ):  ,获取区域代码的接口(比如安庆是 2206): 。需要注意的是这几个接口并不是返回 XML 文档,而是返回纯文本,需要自行分割匹配。

Flash 实况地址在这里: 。

本次更新的内容都来自于 http://blog.mynook.info/2012/08/18/weather-com-cn-api.html,在此对接口的挖掘者和分享者表示感谢!也感谢读者朋友的反馈。

转载于:https://www.cnblogs.com/waddell/p/3391137.html

你可能感兴趣的文章
CSSOM之getComputedStyle,currentStyle,getPropertyValue,getAttribute
查看>>
[转]Nokia是否还有未来 - 小议诺基亚和微软的战略布局
查看>>
Android是否会因低价打败iPhone
查看>>
记使用WaitGroup时的一个错误
查看>>
Unity3D GUI中的图片尾随鼠标旋转脚本
查看>>
EC笔记:第二部分:11:在operator=中处理“自我赋值”
查看>>
用boost.signal实现多播委托
查看>>
Qt使用UDp通信、套接字socket的成员函数bind()的作用
查看>>
LeetCode_Jump Game
查看>>
terminal 常用 快捷键
查看>>
小学四则运算界面版
查看>>
C# WinForm程序中强制退出程序以及启动程序
查看>>
linux 列出内存/cpu使用率前10的进程
查看>>
[转载]DB2数据库移植罕有结果片面解析(2)
查看>>
如何能让mediawiki实现共享
查看>>
如何让Visual Studio 2010支持HTML5和CSS3
查看>>
Dell最近的几款显示器看上去还不错的样子
查看>>
c++中的new、operator new、placement new
查看>>
List<>的操作
查看>>
SharePoint 2010 产品六大功能模块
查看>>