程序员必知:常用天气预报API接口整理(转)

简介: 程序员必知:常用天气预报API接口整理(转)

文章转自:

自序:

由nohacks.cn 收集整理,来源于网络,版权归原作者所有,基本收集了网络上能使用的大部分天气API接口,作者水平精力有限,难免有遗漏或错误的地方,欢迎反馈,作者网站:

更新记录:

2015.3.2 更新云聚,增加天气网接口。

2015.2.28 增加百度天气图片,感谢网友彬子的反馈。

2015. 2.19 增加百度天气接口,更新中国天气网API。

目录:

1. 中国天气网

1.1 实时天气 API 接口(失效)

1.2 当天天气 API接口(失效)

1.3 生活指数 API接口(失效)

1.4 未来五天天气 API 接口(有效,不稳定)

2. 开放数据网天气

2.1 简介

2.2. 一天天气 API 接口

2.3 未来五天天气 API 接口

3. 中国天气开放数据 综合版

3.1 实时天气

3.2 当天天气

3.3 未来五天

3.4 生活指数

4. 随身云天气API (推荐)

4.1 简介

4.1 简化版 未来6天天气 API接口

4.2 详细版 未来6天 天气API接口

5. 新浪天气(推荐)

5. 1 简介

5.2 使用方法

5.3 天气标志

6. 微云

7. 百度 API

7.1 获取天气

7.2 获取城市列表

8. 天气网 (网页插件型)

8.1 简介

8.2 智能未来五天天气

前言:

1. 城市代码

现在网络上流传的天气API实际上大多最终调用的是中国天气网的数据,而中国天气网是把每个地方分配了一个代码,这个代码就是城市代码,要获取天气,我们需要知道城市代码,有2种方法:

1.1 手动查询

进入

在搜索框上输入你要需要获得天气的城市,点击查询,即可在地址栏获得相应城市编号,示范:北京的地方代码:101010100

1.2 自动查询

1.2.1 通过百度API

注意: "%e5%8c%97%e4%ba%ac"是"北京"的URL编码(UniCode)

返回格式(UniCode):

{

"errNum": 0,

"retMsg": "success",

"retData": {

"cityName": "北京",

"provinceName": "北京",

"cityCode": "101010100",

"zipCode": "100000",

"telAreaCode": "010"

}

}

很明显,cityCode的值 "101010100"就是城市代码。

2. 天气标志图片

网络上流传的一些很好用的免费API却没有提供天气标志图片,对有此需求的人里说,不得不说是个遗憾,为了弥补这个遗憾,不得不借助第三方平台配合使用,目前作者使用的是新浪天气平台的数据:

把天气API获取到的天气标志转换为拼音,比如“多云”,转换为拼音“duoyun“,然后根据下面的规则转换为图片地址:

2.1 新浪图片

小图(7878):

白天:

夜间:

大图180180

白天:

夜间: 正文:

2.2 百度天气图片

目前知道的小图,感谢网友彬子的反馈

多云(白天) 多云(夜间)

白天:

夜间:

第一节: 中国天气网

1.1 简介

中国最权威的天气预报网络平台,很多平台实际上也是用的他们的数据。

官方网站:

1.2 地方代码获取方法

前文已经提过

1.3 实时天气接口

接口示例: 失效

返回格式:

{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"23","WD":"东风","WS":"2级","SD":"92%","WSE":"2","time":"09:55","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}

说明:其中 city 是地方名称,cityid是地方代码,temp是当前温度,"WD"是风向,“WS"是风速”,“SD"是湿度,time是更新时间。

1.4 获取当天天气:

失效

返回格式:

weatherinfo":{"city":"北京","cityid":"101010100","temp1":"29℃","temp2":"24℃","weather":"阴转晴","img1":"d2.gif","img2":"n0.gif","ptime":"08:00"}}

注意:其中 img1和img2是天气标志图片,接口格式如下:

这个图就是天气现象0(晴)的图片,其他天气现象的图片依此类推。c打头的图片是2020像素的,b打头的是5046像素的,d打头的是反白的图标, 2920像素,n打头的是夜间反白图标,2920像素,注意这里的文件名是两位数字!

1.5 生活指数:

失效

返回格式: 文字较多,这里省略,请点击访问。

1.6 获取未来几天天气(有效,不保证稳定)

图片路径:

替换方法同上

返回示例:

{"weatherinfo":{"city":"北京","city_en":"beijing","date_y":"2015年2月19日","date":"","week":"星期四","fchh":"18","cityid":"101010100","temp1":"-2℃~4℃","temp2":"-1℃~8℃","temp3":"-3℃~5℃","temp4":"-4℃~6℃","temp5":"-3℃~7℃","temp6":"-1℃~6℃","tempF1":"28.4℉~39.2℉","tempF2":"30.2℉~46.4℉","tempF3":"26.6℉~41℉","tempF4":"24.8℉~42.8℉","tempF5":"26.6℉~44.6℉","tempF6":"30.2℉~42.8℉","weather1":"小雪转雨夹雪","weather2":"小雪转阴","weather3":"晴","weather4":"晴","weather5":"晴","weather6":"阴","img1":"14","img2":"6","img3":"14","img4":"2","img5":"0","img6":"99","img7":"0","img8":"99","img9":"0","img10":"99","img11":"2","img12":"99","img_single":"6","img_title1":"小雪","img_title2":"雨夹雪","img_title3":"小雪","img_title4":"阴","img_title5":"晴","img_title6":"晴","img_title7":"晴","img_title8":"晴","img_title9":"晴","img_title10":"晴","img_title11":"阴","img_title12":"阴","img_title_single":"雨夹雪","wind1":"微风","wind2":"微风转北风4-5级","wind3":"北风4-5级转3-4级","wind4":"北风3-4级转微风","wind5":"微风","wind6":"微风转北风3-4级","fx1":"微风","fx2":"微风","fl1":"小于3级","fl2":"小于3级转4-5级","fl3":"4-5级转3-4级","fl4":"3-4级转小于3级","fl5":"小于3级","fl6":"小于3级转3-4级","index":"冷","index_d":"天气冷,建议着棉服、羽绒服、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣、冬大衣或厚羽绒服。","index48":"","index48_d":"","index_uv":"最弱","index48_uv":"","index_xc":"不宜","index_tr":"适宜","index_co":"较不舒适","st1":"4","st2":"-4","st3":"8","st4":"-2","st5":"5","st6":"-3","index_cl":"较不宜","index_ls":"不宜","index_ag":"极不易发"}}

2. 开放数据 - k780数据

2.1 简介

官方网站:

说明: 数据来自国家气象局天气网,每小时更新一次

免费版有每小时点击次数的限制(免费版最多每小时720次查询)

2.2 获取今日天气

详细说明:

请求示例(xml)

返回实例:

<?xml version="1.0" encoding="utf-8" ?>

- [span class="t">root

[span class="t">success

- [span class="t">result

[span class="t">weaid

[span class="t">days

[span class="t">week

[span class="t">cityno

[span class="t">citynm

[span class="t">cityid

[span class="t">temperature

[span class="t">humidity

[span class="t">weather

[span class="t">weather_icon

[span class="t">weather_icon1

[span class="t">wind

[span class="t">winp

[span class="t">temp_high

[span class="t">temp_low

[span class="t">humi_high

[span class="t">humi_low

[span class="t">weatid

[span class="t">weatid1

[span class="t">windid

[span class="t">winpid

参数说明:其//代码效果参考:http://www.zidongmutanji.com/bxxx/193392.html

中 ,wedid 是城市气象编号,与中国天气网编号一致,key和sign是身份验证,注册一个可以换成自己的,上例中的10003是公众帐号,formt是返回格式,支持 json,xml,除了formt不是必须的以外,其他参数都是必须提供的。

比如 我想获得深圳的今日数据:

第一步: 首先查询深圳的城市代码

方法1:通过 查询

方法2:通过 查询,前面已经提到过。

经查询,深圳的地方代码是 101280601

第二步: 通过地方代码获取今日天气

深圳的今天天气数据就是:

2.3 获取未来五天

请求示例(Xml)

返回示例:

<?xml version="1.0" encoding="utf-8" ?>

- [span class="t">root

[span class="t">success

- [span class="t">result

- [span class="t">item_0

[span class="t">weaid

[span class="t">days

[span class="t">week

[span class="t">cityno

[span class="t">citynm

]北京

[span class="t">cityid

[span class="t">temperature

[span class="t">humidity

[span class="t">weather

[span class="t">weather_icon

[span class="t">weather_icon1

[span class="t">wind

[span class="t">winp

[span class="t">temp_high

[span class="t">temp_low

[span class="t">humi_high

class="m"]

[span class="t">humi_low

[span class="t">weatid

[span class="t">weatid1

[span class="t">windid

[span class="t">winpid

- [span class="t">item_1

[span class="t">weaid

[span class="t">days

[span class="t">week

[span class="t">cityno

[span class="t">citynm

[span class="t">cityid

[span class="t">temperature

[span class="t">humidity

[span class="t">weather

[span class="t">weather_icon

[span class="t">weather_icon1

[span class="t">wind

[span class="t">winp

[span class="t">temp_high

[span class="t">temp_low

[span class="t">humi_high

[span class="t">humi_low

[span class="t">weatid

[span class="t">weatid1

[span class="t">windid

[span class="t">winpid

- [span class="t">item_2

[span class="t">weaid

相关文章
|
1天前
|
JSON 安全 API
如何高效编写API接口:以Python与Flask为例
构建RESTful API的简明教程:使用Python的Flask框架,从环境准备(安装Python,设置虚拟环境,安装Flask)到编写首个API(包括获取用户列表和单个用户信息的路由)。运行API服务器并测试在`http://127.0.0.1:5000/users`。进阶话题包括安全、数据库集成、API文档生成和性能优化。【6月更文挑战第27天】
17 7
|
1天前
|
JSON 安全 API
实战指南:使用PHP构建高性能API接口服务端
构建RESTful API的简要指南:使用PHP和Laravel,先安装Laravel并配置数据库,接着在`api.php`中定义资源路由,创建`PostController`处理CRUD操作,定义`Post`模型与数据库交互。使用Postman测试API功能,如创建文章。别忘了关注安全性、错误处理和性能优化。
12 2
|
2天前
|
敏捷开发 测试技术 API
阿里云云效产品使用问题之API中包含有获取测试计划的接口吗
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
开发框架 JSON .NET
初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试
初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试
159 0
|
3天前
|
人工智能 运维 Serverless
函数计算产品使用问题之启动的实例是否有调用api接口停止功能
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4天前
|
数据挖掘 API 开发者
​Email API有哪些,最好的3个API接口有哪些
Email API如SendGrid、Mailgun和AOKSend是企业自动化邮件通信的关键工具。它们提供邮件发送、接收和管理功能,提升效率,优化客户体验。SendGrid以其高可靠性、强大分析和易于集成备受青睐;Mailgun以灵活性和高发送率著称;而AOKSend则以其高效、详细分析和易用性脱颖而出。通过使用这些API,企业能实现定制化邮件服务,跟踪性能,提升邮件营销效果。
|
4天前
|
API
个人微信api接口源代码
个人微信api接口源代码
|
8天前
|
自然语言处理 安全 API
触发邮件接口有哪些?邮件API文档
**触发邮件接口**如AokSend、Mailgun、Amazon SES、Postmark和Sendinblue是自动化企业通信的关键。这些接口在特定事件时自动发送邮件,提高效率和客户体验。例如,AokSend提供详细的API文档,支持事件触发、模板管理和多语言集成;Mailgun以灵活性著称;Amazon SES适合大规模发送;Postmark专注于事务邮件;Sendinblue则提供邮件、短信和营销自动化功能。每种服务都有示例代码展示如何使用API发送邮件。选择合适的接口能提升企业通信效率和客户满意度。
|
9天前
|
安全 API 网络安全
API接口安全加固:应对黑客攻击的实战指南
**API安全摘要:** API成为黑客目标,攻击类型包括未授权访问、CSRF、DDoS、数据泄露和注入攻击。防御策略包括使用OAuth 2.0和JWT进行认证授权,防止CSRF攻击,限制请求速率,避免数据泄露,以及实施注入攻击防护。开发者应定期更新安全措施,确保API安全性。示例代码展示了Node.js中JWT认证的实现。