墨迹天气 API 开发实战:从参数到工程落地的全方位解析
适用场景与接口价值在天气相关的小程序、智能家居仪表盘、旅行规划或农业辅助系统中获取准确且全面的天气数据是常见需求。墨迹天气 API 对接了官方数据源覆盖全国 3 万 城市一次调用即可同时返回实况、未来 7 天逐日预报、未来 24 小时逐时预报、AQI空气质量指数、9 项生活指数以及农历日期。对于需要快速搭建天气模块的开发者来说该接口提供了开箱即用的解决方案。接口能力边界QPS5 次/秒适用于中小流量场景。如果业务需要更高的并发建议在客户端做缓存或使用负载均衡方案。查询模式实况查询默认模式按城市名或internal_id直查。城市搜索使用opsearch通过关键字中文、拼音、首字母获取城市列表及其id。历史天气使用ophistory可查单日或整月历史数据。当月返回 1 号至昨日历史月返回完整 30 天。建议查询近 40 天内的数据更早月份可能无数据。缓存策略实况数据缓存 5 分钟当月历史数据缓存 30 分钟历史月数据缓存 24 小时。请注意接口返回的_cached字段可指示当前结果是否来自缓存。注意数据由墨迹天气官方提供仅供一般参考不可用于农业、保险、航运、防灾等专业决策场景。请求参数与鉴权方案请求 URLGET https://v1.apizero.cn/api/moji-weatherQuery 参数参数是否必填类型说明示例值city否string城市中文名如“北京”“大化”与id二选一。自动模糊匹配第一个结果。大化id否number城市 internal_id由搜索模式获取与city二选一查询速度更快。1205op否string查询模式search城市搜索history历史天气缺省为实况天气。historykeyword否stringopsearch 时必填。关键字支持中文/拼音/首字母。大化limit否numberopsearch 时可选。返回条数1-50默认 20。10day否stringophistory 时可选。查询某一天YYYY-MM-DD/MM-DD需配 month/DD需配 month。2026-05-12month否stringophistory 时可选。查询整月YYYYMM。202604鉴权方式在请求头中携带 API 密钥。认证字段为X-API-Key具体值从 API 管理后台获取。示例如下X-API-Key: your_api_key该参数在文档中标记为可选但实际生产环境必须携带否则会收到鉴权错误。curl 可运行示例以下使用curl演示四种典型场景。请将$APIZERO_API_KEY替换为你自己的密钥。1. 实况天气按城市名curl -sS \ -X GET \ -H X-API-Key: $APIZERO_API_KEY \ https://v1.apizero.cn/api/moji-weather?city大化2. 实况天气按 internal_id速度更快curl -sS \ -X GET \ -H X-API-Key: $APIZERO_API_KEY \ https://v1.apizero.cn/api/moji-weather?id12053. 城市搜索获取城市 idcurl -sS \ -X GET \ -H X-API-Key: $APIZERO_API_KEY \ https://v1.apizero.cn/api/moji-weather?opsearchkeyword大化limit54. 历史天气按城市日期curl -sS \ -X GET \ -H X-API-Key: $APIZERO_API_KEY \ https://v1.apizero.cn/api/moji-weather?ophistorycity大化day2026-05-12如果需要查整月替换day为monthcurl -sS \ -X GET \ -H X-API-Key: $APIZERO_API_KEY \ https://v1.apizero.cn/api/moji-weather?ophistorycity大化month202605返回值解读无论哪种查询模式成功响应均为 JSON 格式顶层包含code和data字段。code为 0 表示成功非 0 则表示错误。msg字段提供可读的错误描述。实况天气返回结构data 部分字段类型说明_cachedbool是否来自缓存aqiobject空气质量详情value(指数),level(等级),description(文字描述),updatetime(更新时间戳)cityobject城市信息id,name,parent(上级行政区),pinyin,timezone(时区偏移小时)conditionobject当前天气实况condition(天气现象),temperature(摄氏),real_feel(体感温度),humidity(湿度%),pressure(气压hPa),wind_dir(风向),wind_level(风力等级),sun_rise/sun_set(日出日落时间戳),lunar_date(农历),tips(生活提示),uvi(紫外线指数描述)forecast_dayarray未来7天逐日预报每个元素包含predict_date(预测日时间戳),temp_day(日间温度),temp_night(夜间温度),condition_day/condition_night,wind_dir_day/wind_level_day,aqi_value/aqi_descforecast_hourarray未来24小时逐时预报每个元素包含predict_hour(整点时间戳),temperature,condition,aqi_value,humidity,wind_dir,wind_levelindexarray9项生活指数每个元素含name如“穿衣”“限行”和status如“炎热”“不限行”summarystring简要天气总结城市搜索返回结构当opsearch时data是一个数组每个元素包含id和name城市全称可通过limit控制返回条数。历史天气返回结构当ophistory时data是一个数组每条记录包含date(时间戳)、temp_max/temp_min、condition_day/condition_night等字段具体结构与 forecast_day 类似。常见错误处理HTTP 状态码业务 codemsg 示例可能原因及处理方式200-1城市查询不到建议使用搜索city 参数未找到匹配城市尝试opsearch获取正确 id200-2获取数据失败内部错误稍后再试401-无权限未提供有效X-API-Key或密钥过期429-请求过于频繁超出 QPS 限制请降低请求频率或加入重试机制错误时data可能为null需读取msg字段进行展示。工程化注意事项1. 优先使用id查询通过opsearch预先获取城市 id 并缓存如 localStorage 或 Redis后续实况/历史查询使用?idxxx可以跳过字符串模糊匹配响应速度更快且更稳定。2. 处理缓存标识返回的_cached字段可帮助判断数据是否为实时。对于高频轮询场景如每分钟刷新若_cached为true且数据无变化可考虑客户端直接使用上次结果减少无效解析。3. 时间戳处理返回的时间戳如sun_rise、predict_date为毫秒级 Unix 时间戳。前端使用 JavaScript 可直接new Date(timestamp)转换后段语言如 Python需/1000转换为秒。4. 历史天气查询限制当月历史数据最多只到昨日历史月支持完整 30 天。如果查询的月份跨度过大或过于久远可能返回空数据。建议客户端做好兜底展示例如显示“该时间段无历史数据”。5. 限流与重试API 的 QPS 为 5若业务场景需要更高并发可在网关层对相同城市做聚合去重或使用短时缓存如 2 秒。当收到 429 错误时建议采用指数退避策略重试初始间隔 1 秒最多重试 3 次。6. 城市名模糊匹配的潜在问题使用?city大化会自动匹配第一个结果本例为“大化瑶族自治县”。如果城市名有多个重名如“北京”只有一个建议始终先用搜索确认id避免匹配到不期望的城市。参考文档墨迹天气 API 文档页原始 Markdown 文档

相关新闻

3个IO口驱动多位数码管的74HC595动态扫描方案

3个IO口驱动多位数码管的74HC595动态扫描方案

1. 项目概述:3个IO驱动多位数码管的精妙设计 用3个IO口控制多位数码管显示,这听起来像是魔术,但背后是74HC595移位寄存器与动态扫描技术的完美配合。我在工业控制仪表设计中多次采用这种方案,相比直接驱动方式,它能将I…

2026/10/14 7:22:00 阅读更多 →
OpenAI编码助手集成实践:从环境配置到生产部署全流程

OpenAI编码助手集成实践:从环境配置到生产部署全流程

在实际开发工作中,很多团队已经开始借助 OpenAI 提供的模型能力来加速编码、调试和文档生成。虽然输入材料中提到的 GPT-5.6 并非当前 OpenAI 官方发布的版本,但我们可以基于 OpenAI Codex、GPT-4 等现有模型,以及社区中常见的兼容 OpenAI AP…

2026/10/13 15:10:09 阅读更多 →
深入解析TI C2000 DSP I2C模块:从基础原理到稳定驱动实践

深入解析TI C2000 DSP I2C模块:从基础原理到稳定驱动实践

1. 项目概述:从两根线开始的嵌入式世界对话 在嵌入式开发的世界里,设备间的“对话”是系统运作的基础。想象一下,你的微控制器(MCU)需要从温度传感器读取数据,向OLED屏幕发送指令,或者从EEPROM中…

2026/10/9 1:56:23 阅读更多 →

最新新闻

CangjieMagic jsonable 包深入解析:声明式 JSON 序列化、类型模式与语义约束校验

CangjieMagic jsonable 包深入解析:声明式 JSON 序列化、类型模式与语义约束校验

人工智能大模型AI AgentRAG工具调用MCP 服务MCP Clients多智能体 【免费下载链接】CangjieMagic 基于仓颉编程语言构建的 LLM Agent DSL,其主要特点包括:声明式 DSL、支持 MCP 协议,支持任务智能规划等。 项目地址: https://gitco…

2026/10/14 7:21:37 阅读更多 →
杭州装修暖通系统选择指南:避坑与实用技巧

杭州装修暖通系统选择指南:避坑与实用技巧

1. 装修小白必看:暖通选择为何如此重要在杭州装修过房子的朋友都知道,暖通系统是整个装修过程中最容易踩坑的环节之一。我从业内朋友那里听到过太多血泪史:有人花了大价钱装的地暖冬天不热,有人装的中央空调夏天制冷效果差&#x…

2026/10/14 7:21:37 阅读更多 →
商标权的利用

商标权的利用

商标权的利用商标权的利用是商标法中的一项重要制度,深刻体现了商标权的私权属性。探讨商标权如何在法律框架内实现其经济价值与法律功能。注册商标使用的法律界定与“连续三年不使用撤销制度”;商标权许可的三种类型及其质量控制义务;商标权…

2026/10/14 7:21:37 阅读更多 →
OpenLayers等值线编辑实战:从交互组合到数据导出

OpenLayers等值线编辑实战:从交互组合到数据导出

最近做一个气象灾害可视化项目时,我遇到了一个很典型的需求:后端用插值算法自动生成的等值线,并不能直接上线,业务专家必须手动修正那些不合理弯曲、局部小圈和多线粘连。这一步就落在 openlayers 等值线编辑上。简单说&#xff0…

2026/10/14 7:21:37 阅读更多 →
MATLAB共享储能电站冷热电多微网双层优化配置模型详解

MATLAB共享储能电站冷热电多微网双层优化配置模型详解

先说一句啊,这篇不是那种把模型往纸上一放、公式一抄就完事的论文复现,而是基于“MATLAB共享储能电站服务冷热电多微网系统双层优化配置模型”这条线,把建模思路、求解路线、MATLAB实现细节和踩坑经验一次性捋清楚。如果你想做园区级综合能源…

2026/10/14 7:20:37 阅读更多 →
90天PMP通关攻略:专治拖延症的反人性备考技巧

90天PMP通关攻略:专治拖延症的反人性备考技巧

2026年6月PMP考试:一场与“拖延症”的终极对决!90天通关全攻略(内附反人性备考技巧)如果有人问我,PMP考试难在哪,我大概率会说:难在开始。2026年6月那场考试,我提前90天就买好了教材…

2026/10/14 7:20:37 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →