获取网络接口天气环境相关数据(基于环境云)

简介说明:当开发一个简易的天气app时,需要获取相关天气数据,至于这个数据来自哪里,我们这里使用开放大数据平台完全免费的---环境云;示例为androidstdio使用java语言,获取天气实况数据;

一、环境云平台

   首先我们要知道如天气数据:温度,湿度等数据信息怎么来的,当然是部署相关传感器到指定测量的地点,采集、收集并处理数据即可;但我们如果只是个人小项目开发,当然不会这么麻烦还去搞这些;这些工作已经有人帮我们做了,即大数据平台,他们已经做好这些工作我们只需要向他们提供的网络数据接口访问获取这些数据即可;当然你想使用其他平台也可以;

d689c0cea9f14b9a8a84d4a75297e5f6.png

二、简要原理介绍

    相信学习过《计算机网络》课程的应该比较清楚原理,这里简要介绍一下基本原理:

    相关概念

    IP地址:每台电脑都靠一个全球唯一的IP地址来接入互联网,这是接入互联网的主机的唯一标识;如47.35.26.54就是一个IP地址,我们可以指定IP地址去访问指定服务器,如通过百度服务器IP地址访问百度服务器;

    域名:如www.baidu.com是百度服务器的域名,通过IP地址可以访问指定服务器,但随着互联网发展,有太多平台,显然通过记住每个IP地址去访问指定服务器太困难了,所以使用了域名这个东西,说白了就是IP地址的别名,其域名到IP地址的转换我们不用管;如浏览器输入百度域名就可以访问到百度服务器:

82b5c3e8023f44d9b910ead0d53ed122.png

 

    统一资源定位符url:仅仅访问到百度服务器还不够精细,我们还可以访问百度服务器指定的数据,通过指定协议指定端口和相关参数就可以标志一种比较具体的服务,如具体的一个网页;一个正确的url可以在浏览器输入获取相关信息,并正确响应;

    协议方法:协议就是网络中信息传输的规则,如http协议,就可以使我们访问指定数据并在浏览器正确显示,我们通过使用http的指定方法如get()方法获取指定服务器的指定信息;

    辅助技术:浏览器可以自动对获取的数据解析并指定显示格式,我们自己获取接口数据也需要,不然获取的信息就是一串数据流没有规则,一些辅助技术可以帮我们解析数据,如gson库,导入gson包后,使用相关方法更好的处理数据,选择我们有用的数据显示出来;

    原理流程

    在项目中,首先导入辅助技术包,实现get方法,指定url,设置变量保存获取的数据,再使用辅助技术解析数据;当运行程序时,程序根据你指定的url访问到互联网的指定服务器,服务器的指定端口,根据参数获取指定信息;信息获取到后,解析保存到变量里,再显示我们需要的信息即可;

三、操作示例

    这里以安卓获取环境云平台天气数据为例:

    确定URL

1.选择我们需要的服务

ccc639b3c1114d61a11270c372b1a897.png

2.一些通用的必要信息

基础URL:整个URL的前半部分,指定了服务器和端口但还未指定参数

c7bd181a189b470388da56797af0c599.png

城市编码:我们要获取指定城市的数据通过查询指定的城市编码:一串数字

52c23d7773ea4fbab263b51f4e2e4a10.png

用户密钥:注册环境云即可获得

2873298528de4cc5b1675530b4737714.png

选择服务:确定后半段的URL:功能参数,密钥,城市编码等

fe9a6b6e14bc48d6af7e3dbe9e995e4e.png

响应示例:就是访问后的结果示例,这个样子

7d783279c8de46d4ad6031fa8414a5d2.png

最终URL确定:把前面几个部分正确拼接即可

如:URL = 

"http://service.envicloud.cn:8082/v2/weatherlive/MTG4MZKXMJY2NDKXNZAXNDQYMZKZOTMZ/101180801"

测试一下,在浏览器输入,正确响应

96ad7b6babe44ca0845578a4112628bf.png

    导包

    1.如果你需要解析数据,比如上述响应我们只想要取得指定字段的值,导入gson包进行解析

如:

implementation ("com.google.code.gson:gson:2.8.6")

    2.我们程序使用了http的get方法实现,导入包

如:

implementation ("com.squareup.okhttp3:okhttp:4.9.0")

    程序实现

    首先环境云平台也为我们提供了代码框架,可以选择语言,我们使用安卓,选择java的okhttp

d75ca4451bd54f55b3778708e9158c05.png

具体实现

6bb6054ed655469c89168d9b1f27528a.png

注:安卓比较特殊,关于网络和数据库相关的操作比如访问服务器,访问数据库必需在线程里实现

调用线程:

2089a5fc33404e4eb9de536bfb4fbc50.png

    运行效果

20058569cb9b4a7f91ebd2767858e330.png

四、最后说明

1.这个例子展示了获取环境云网络接口天气实况数据,根据需要可以获取其他你需要的数据

2.可以进一步数据处理,适当显示比如可以添加辅助天气图片

3.不同大数据平台,不同开发平台,不同语言都类似这个过程,仿照即可

 

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
基于Python的网络爬虫可以用来爬取天气数据,并且使用可视化分析工具进行数据的可视化分析。首先,我们可以使用Python中的Requests库来发送HTTP请求获取天气数据。可以通过访问天气网站的API接口或者直接爬取网页内容来获取所需的天气数据。然后,使用Python中的BeautifulSoup库来解析获取到的网页内容,提取出需要的数据,如温度、湿度、风速等。 接下来,我们可以使用Python中的Matplotlib库来进行数据的可视化分析。可以绘制折线图来展示某一天或某一段时间内的温度变化情况,可以使用条形图来比较不同时间段的温度差异,还可以通过散点图来展示不同时间点的天气指标之间的关系。通过图表的形式,我们可以直观地观察数据的分布和变化趋势,从而更好地理解天气数据。 除了Matplotlib,我们还可以使用Python中的Seaborn库来进行更高级的数据可视化分析。Seaborn可以使数据更加美观地展示,提供了更多的图表类型及样式选择。此外,我们还可以使用Python中的Plotly库来创建交互式的数据可视化图表,方便用户自由探索和分析数据。 总之,基于Python的网络爬虫可以爬取天气数据并使用不同的可视化分析工具进行数据的可视化分析。这样的分析可以帮助我们更好地理解和利用天气数据,为天气预报、气候研究等领域提供支持。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值