使用小米天气API获取天气信息 - 阿森纳最美枪声

dexjinkey 2021-11-14 原文


使用小米天气API获取天气信息

1. URL部分

以下url中“%s”代表的是城市Id,比如北京的cityId=101010100;

//获取未来五天预报信息,红色部分信息不需要

WEATHER_DATA_URL_JSON = “http://weatherapi.market.xiaomi.com/wtr-v2/temp/forecast?cityId=%s”;

返回信息格式如下:

复制代码
{
    "weatherinfo": {
        "city": "北京", 
        "city_en": "beijing", 
        "cityid": "101010100", 
        "date": "", 
        "date_y": "2014年04月08日", 
        "fchh": "18", 
        "fl1": "3-4级转4-5级", 
        "fl2": "3-4级转小于3级", 
        "fl3": "小于3级", 
        "fl4": "小于3级", 
        "fl5": "小于3级", 
        "fl6": "微风", 
        "fx1": "南风转北风", 
        "fx2": "东北风转无持续风向", 
"img1": "", // img信息不需要 "img10": "", "img11": "", "img12": "", "img2": "", "img3": "", "img4": "", "img5": "", "img6": "", "img7": "", "img8": "", "img9": "",
"img_single": "", //img_title信息不需要 "img_title1": "霾", "img_title10": "多云", "img_title11": "晴", "img_title12": "晴", "img_title2": "多云", "img_title3": "晴", "img_title4": "多云", "img_title5": "多云", "img_title6": "阴", "img_title7": "阴", "img_title8": "多云", "img_title9": "晴", "img_title_single": "",
"index": "较舒适", "index48": "", "index48_d": "", "index48_uv": "", "index_ag": "极易发", "index_cl": "不宜", "index_co": "舒适", "index_d": "", "index_ls": "不宜", "index_tr": "适宜", "index_uv": "最弱", "index_xc": "不宜",
"st1": "", //st信息不需要(暂不确定其作用) "st2": "", "st3": "", "st4": "", "st5": "", "st6": "",
"temp1": "12℃~28℃", "temp2": "11℃~18℃", "temp3": "8℃~18℃", "temp4": "9℃~22℃", "temp5": "10℃~22℃", "temp6": "0℃~0℃",
"tempF1": "", //华氏摄氏度信息不需要 "tempF2": "", "tempF3": "", "tempF4": "", "tempF5": "", "tempF6": "",
"weather1": "霾转多云", "weather2": "晴转多云", "weather3": "多云转阴", "weather4": "阴转多云", "weather5": "晴转多云", "weather6": "晴", "week": "星期二", "wind1": "南风转北风", "wind2": "东北风转无持续风向", "wind3": "微风", "wind4": "微风", "wind5": "微风", "wind6": "微风" } }
复制代码

//获取实时天气信息

WEATHER_DATA_SK_JSON = “http://weatherapi.market.xiaomi.com/wtr-v2/temp/realtime?cityId=%s”;

返回信息格式如下:

复制代码
{
    "weatherinfo": {
        "SD": "32%", 
        "WD": "西南风", 
        "WS": "2级", 
        "WSE": "", 
        "city": "北京", 
        "cityid": "101010100", 
        "isRadar": "1", 
        "radar": "JC_RADAR_AZ9010_JB", 
        "temp": "23", 
        "time": "18:35", 
        "weather": "霾"
    }
}
复制代码

//获取其他指数类天气信息,如pm2.5,二氧化硫含量等,暂时不需要这类信息

WEATHER_AQI_URL_JSON = “http://weatherapi.market.xiaomi.com/wtr/data/aqi?city_id=%s”;

返回信息格式如下:

复制代码
{//不需要
    "aqi": {
        "city": "北京", 
        "city_id": "101010100", 
        "pub_time": "2014-04-08 18:00", 
        "aqi": "206", 
        "pm25": "156", 
        "pm10": "196", 
        "so2": "47", 
        "no2": "42", 
        "src": "中国环境监测总站", 
        "spot": ""
    }
}
复制代码

获取警告信息

WEATHER_ALERT_URL_JSON = “http://weatherapi.market.xiaomi.com/wtr-v2/temp/alert?cityId=%s”;

一般返回为空,且我们暂时用不到这类信息。

2. IP地址和cityId数据库

根据天气设计需求,要实现根据用户的IP地址自动匹配用户所在的当前城市。

首先要根据IP地址获取城市名称,其次通过城市名城获取对应的cityId,最后利用cityId获取对应城市的天气信息。

因此需要两个数据库,包含两张表:

表一: IP地址–>城市名称

表二: 城市名城–>cityId,对应的数据库文件分别是:ip_address_jj_city_name.db和city.db。

3. 数据返回格式极其他

要求数据返回格式为json

发表于
2016-12-14 15:34 
阿森纳最美枪声 
阅读(4292
评论(0
编辑 
收藏 
举报

 

版权声明:本文为dexjinkey原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dexjinkey/p/6179537.html

使用小米天气API获取天气信息 - 阿森纳最美枪声的更多相关文章

  1. Windows cmd切换盘符,切换文件夹 – 王佳俊

    Windows cmd切换盘符,切换文件夹 想要到哪个盘就直接输入【盘符:】就ok了,比如:    切换文件夹 […]...

  2. 嵌入式整体框架——总结 – Darren715

    嵌入式整体框架——总结         嵌入式应该什么都要涉及的到,从最开始的51单片机,之后到高级一些的微控 […]...

  3. CWMP开源代码研究7——cwmp移植 – 京月飞鸿

    原创作品,转载请注明出处,严禁非法转载。如有错误,请留言! email:40879506@qq.com    […]...

  4. 开源网络访问控制(NAC)工具 – PacketFence – Safe3

    开源网络访问控制(NAC)工具 – PacketFence PacketFence是一个开放源代码 […]...

  5. 树莓派4B踩坑指南 – (16)外接4k显示器的相关设置

    最近某宝新买了个4k显示器, 总价700多, 质量凑合, 就把树莓派接上来了, 这一下苦了眼睛了, 于是有了此 […]...

  6. [MySQL]MySQL一些常用命令 – gaomatlab

    [MySQL]MySQL一些常用命令 MySQL,Mysql 命令 前言今天介绍一些MySQL常用的实用命令, […]...

  7. Java 重写(Override)与重载(Overload) – 玉滨的博客

    Java 重写(Override)与重载(Overload) 重写(Override) 重写是子类对父类的允许 […]...

  8. 用例与用例描述 – 荣-

    用例与用例描述 用例,用例描述,面向对象分析与设计,OOD,OOA,OOSAD 最近在学习面向对象的分析与设计 […]...

随机推荐

  1. jackson学习之十(终篇):springboot整合(配置类)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有 […]...

  2. Linux命令之远程登录与执行远程主机命令

    实现远程登录的命令 ssh、telnet、rlogin (1)ssh命令 ssh命令是openssh套件中的客 […]...

  3. JavaScript之insertBefore()和自定义insertAfter()的用法。

    在JS图片库的第五版开发完后http://www.cnblogs.com/GreenLeaves/p/5691 […]...

  4. 反反爬虫–破解字体加密

    反反爬虫–破解字体加密 今天在爬取58同城租房信息的时候发现58同城中的价格在html文档中是以乱 […]...

  5. 触控与手势

      随着移动设备的广泛应用,对触屏的支持势在必行。 H5中新增了Touch API来支持触控,包括: Touc […]...

  6. Spring框架讲解,Spring Boot 学习指南

      在过去两三年的 Spring 生态圈,最让人兴奋的莫过于 Spring Boot 框架。Spring Bo […]...

  7. div中的内容水平垂直居中

    1. div高度自适应的情况     div在不设置高度的时候,会被里面的内容撑开,内容自动填充在div中,无 […]...

  8. JavaScript初学习笔记

    JavaScript 笔记 JavaScript负责页面中的的行为。 它是一门运行在浏览器端的脚本语言。JS的编写的位置1.可以编写到标签的指定属性中 2.可以编写到script标签中3.可以将代码编写到外部的js文件中,然...

展开目录

目录导航