爬虫系列实战:使用json解析天气数据

这篇具有很好参考价值的文章主要介绍了爬虫系列实战:使用json解析天气数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,爬虫是一项非常抢手的技能,收集、分析和清洗数据是数据科学项目中最重要的部分,本文介绍使用json解析气象局天气数据。

在官网上获取天气数据信息,可以定义当前查询的位置,提取时间、温度、湿度、气压、风速等信息,并导入requests、matplotlib这些需要用到的库。

# 导入以下模块
import requests
import matplotlib.pyplot as plt
import pylab as pl

1.获取今日天气

调用api接口地址,获取天气数据接口,本文获取57494代表武汉的数据接口,进而获取json数据,并判断json请求是否成功。

def get_weather():
    # 调用api接口地址
    # 获取57494代表武汉的天气数据接口
    url = "https://weather.cma.cn/api/now/57494"

# 获取json数据
    json_datas = requests.get(url=url).json()
    #判断json请求是否成功?
    if json_datas.get("msg") == "success":
        # 请求成功
        json_location = json_datas.get("data").get("location")
        # 位置信息
        print('\n', '当前查询的位置'.center(50, '—'))
        print("城市代码: " + json_location.get("id") + "   城市名称: " + json_location.get("name") +"   详细地址: " + json_location.get("path"));
        # 当天天气信息
        json_now_data = json_datas.get("data").get("now")

        # 获取最新发布时间
        now_time = "最新天气发布时间:" + str(json_datas.get("data").get("lastUpdate"))
        print('\n',now_time.center(50, '—'))
        print("\n温度: " + str(json_now_data.get("temperature")) + "   气压: " + str(json_now_data.get("pressure")) +"  湿度: " + str(json_now_data.get("humidity")))
        print("\n风向: " + json_now_data.get("windDirection") + "   风力等级: " + json_now_data.get("windScale"))

    else:
        # 提示失败
        print("服务器返回的数据,失败了!")

2.可视化显示温度曲线

解析json数据,获取历史最大和最小的温度数据,进行图表绘制,可视化展示温度数据,使用绘图库输出可视化结果。文章来源地址https://www.toymoban.com/news/detail-801305.html

def get_Max_temperature():
    url = "https://weather.cma.cn/api/climate"
    # 1传数据参数
    params = {
                "stationid": 57494
            }
    # 2.获取json数据
    json_datas= requests.get(url=url, params=params).json()
    #print(json_datas)
    # 3.解析json数据,图表绘制
    data=json_datas.get("data").get("data")
    x = range(1, 13, 1) #显示12个月
    # 4.获取最大和最小的温度数据
    y = [maxTemp.get("maxTemp") for maxTemp in data]
    
    y1 = [minTemp.get("minTemp") for minTemp in data]

    pl.rcParams["font.sans-serif"] = ["SimHei"]
    plt.figure(figsize=(70, 70), dpi=100)
    plt.plot(x, y)
    plt.plot(x, y1)
    plt.xticks(x, ["{}月".format(i) for i in x])
    plt.title("1981年-2010年月平均气温和降水")
    plt.show()


if __name__ == "__main__":
    get_weather()

    get_Max_temperature()
    print('数据获取完成!!!')

到了这里,关于爬虫系列实战:使用json解析天气数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【头歌】——数据分析与实践-python-网络爬虫-Scrapy爬虫基础-网页数据解析-requests 爬虫-JSON基础

    第1关 爬取网页的表格信息 第2关 爬取表格中指定单元格的信息 第3关 将单元格的信息保存到列表并排序 第4关 爬取div标签的信息 第5关 爬取单页多个div标签的信息 第6关 爬取多个网页的多个div标签的信息 第1关 Scarpy安装与项目创建 第2关 Scrapy核心原理 第1关 XPath解析网页 第

    2024年01月22日
    浏览(41)
  • 〖Python网络爬虫实战㉑〗- 数据存储之JSON操作

    订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+                  python项目实战                  Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,

    2024年02月02日
    浏览(27)
  • ESP8266获取天气预报信息,并使用CJSON解析天气预报数据

    当前文章介绍如何使用ESP8266和STM32微控制器,搭配OLED显示屏,制作一个能够实时显示天气预报的智能设备。将使用心知天气API来获取天气数据,并使用MQTT协议将数据传递给STM32控制器,最终在OLED显示屏上显示。 心知天气是一家专业的气象数据服务提供商,致力于为全球用户

    2024年02月10日
    浏览(37)
  • 网页爬虫逆向与AST入门系列教程(四、AST的应用之代码混淆解析)

    前面的文章中,我们介绍了AST的基本概念、生成和可视化方法。在本篇中,我们将探讨AST在网页爬虫逆向中的另一个重要应用领域:代码混淆解析。 1. 代码混淆与反混淆 代码混淆是一种常见的技术,用于增加网页代码的复杂性和混淆程度,从而防止被不法分析者轻易地理解

    2024年02月11日
    浏览(38)
  • 爬虫实战:从HTTP请求获取数据解析社区

    在过去的实践中,我们通常通过爬取HTML网页来解析并提取所需数据,然而这只是一种方法。另一种更为直接的方式是通过发送HTTP请求来获取数据。考虑到大多数常见服务商的数据都是通过HTTP接口封装的,因此我们今天的讨论主题是如何通过调用接口来获取所需数据。 目前来

    2024年03月20日
    浏览(35)
  • 【深入Scrapy实战】从登录到数据解析构建完整爬虫流程

    【作者主页】: 吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建

    2024年02月04日
    浏览(36)
  • (十五)python网络爬虫(理论+实战)——实战:eastmoney沪深京A股股票数据爬取,表格解析

    目录 7 爬取沪深京A股股票数据       7.1 爬取目标

    2023年04月22日
    浏览(32)
  • 爬虫:python如何获得天气数据

    2.1 网站的内容 主要是下方的天气情况 2.2开始与网站获得连接 当出现Response[200]时,此刻以与网站连接成功 2.3对网页进行解析  采用‘utf-8’来对爬去的信息进行解码,对网页解析用到BeautifulSoup库。         当出现网站访问成功,却得不到数据时。 html.parser换成其他Bea

    2024年02月05日
    浏览(30)
  • 基于网络爬虫的天气数据分析

    网络爬虫原理   网络爬虫是一种自动化程序,用于从互联网上获取数据。其工作原理可以分为以下几个步骤: 定义起始点:网络爬虫首先需要定义一个或多个起始点(URL),从这些起始点开始抓取数据。 发送HTTP请求:爬虫使用HTTP协议向目标网站发送请求,获取网页内容。

    2024年01月19日
    浏览(39)
  • 爬虫入门指南(8): 编写天气数据爬虫程序,实现可视化分析

    天气变化是生活中一个重要的因素,了解天气状况可以帮助我们合理安排活动和做出决策。本文介绍了如何使用Python编写一个简单的天气数据爬虫程序,通过爬取指定网站上的天气数据,并使用Matplotlib库对数据进行可视化分析。通过这个例子,我们不仅可以学习Python的相关库

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包