本文档介绍了名为“天气服务”的一款应用,旨在解决现有天气API预测时间有限和调用限制的问题。该服务包括一个天气Web服务(weather-web项目)和一个天气服务演示小程序(weather-weixin项目)。作者Da Wei Min在2018年1月6日创建了此项目,并将其托管在GitHub上。 服务的主要意义在于提供超过3天的长期天气预报,以及避免第三方API调用次数的限制和复杂的认证过程。然而,服务也存在缺陷,如依赖第三方网站,当这些网站结构改变时需要更新代码,且如果第三方服务器出现问题或采取反爬策略,服务可能会失效。此外,该服务仅供学习交流,非正式商业用途。 服务结构由查询接口、第三方接口和主要类组成。查询时,如果使用经纬度,需借助腾讯API将经纬度转换为城市名称。服务根据城市拼音查找数据,预先爬取城市与拼音的关系。为了减少频繁爬取,服务每天更新一次,查询时会对比日期,过期才重新获取数据。所有数据存储在内存中,不持久化到磁盘,以保证服务速度。 服务提供两种访问接口:按经纬度查询和按城市名称(中文或拼音)查询。返回的结果是Json格式,包含30天的天气基本情况,如日期、天气描述、温度范围和风力等信息。此外,文档还展示了基于该服务构建的小程序示例,小程序可以显示当前位置的天气并支持关键词查询。 实际部署该服务时,Web服务需要配置腾讯地图API KEY以支持经纬度查询,并根据需求申请SSL证书。小程序则需要设置appid,并在页面逻辑文件中替换baseUrl为Web服务的部署地址。 这个天气服务是一个自建的天气预报解决方案,旨在克服现有API的局限性,提供更长的预报周期,并为开发者提供了友好的查询接口和小程序示例。虽然依赖第三方数据源,但通过合理的缓存策略和内存管理,提高了服务的可用性和响应速度。对于希望开发天气应用的个人或团队,这是一个有价值的参考和起点。
- 粉丝: 28
- 资源: 307
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Laravel4.0参考手册中文CHM版最新版本
- teamteam下载包
- Laravel4.1参考手册中文CHM版最新版本
- 内墙装修涂料行业发展趋势:预计2030年年复合增长率(CAGR)为5.6%(2024-2030)
- seata运行时所需要的配置文件
- PowerBI-svg 仪表盘图
- 操作系统原理期末复习题(附答案)(摘自汤小丹《计算机操作系统》慕课版课后习题)
- 中国省级产业结构高级化、合理化数据测算(2000-2023年).zip
- Laravel5.1参考手册中文CHM版最新版本
- AI基础3-Pyqt.mp4
- WebSocket基础介绍.pdf
- VMWware全部版本下载地址
- 44e82cfa75fa0244b3037221d2eb830d.zip
- dkd-parent.zip
- dkd-vue.zip
- WiFi助手调试软件,有六个按键,可以设置IP地址,端口号,安卓手机安装,实现网口助手功能!
评论0