Python爬虫案例:结合Matplotlib分析天气数据

目录

1.案例介绍

2.演示

 3.代码


1.案例介绍

本案例爬取中国气象网的天气数据,并用图表工具分析降水数据。

2.演示

        

 3.代码

        

# 分析天气数据爬虫案例
import requests,matplotlib.pyplot as mpl,pylab as pl;

if __name__ == "__main__":
        # 定义接口地址
        url = "https://weather.cma.cn/api/now/58725" # 获取邵武天气数据接口
        # 发起GET请求
        respose = requests.get(url=url);
        # 解析返回数据
        json_obj = respose.json();
        if json_obj.get("msg") == "success" :
                # 请求成功
                json_location = json_obj.get("data").get("location");
                # 位置信息
                print("位置代码:" + json_location.get("id") +
                      "\n城市名称:"+json_location.get("name")+
                      "\n详细地址:" + json_location.get("path"));
                # 当前天气信息
                json_now_data = json_obj.get("data").get("now");
                print("\n当前天气:" +
                      "\n温度:" + str(json_now_data.get("temperature")) +
                      "\n气压:" + str(json_now_data.get("pressure")) +
                      "\n湿度:" + str(json_now_data.get("humidity")) +
                      "\n风向:" + json_now_data.get("windDirection"));
                # 未来几天天气分析
                url = "https://weather.cma.cn/api/climate"
                # 数据准备
                params = {
                        "stationid":58725
                }
                # 发起请求
                respose = requests.get(url=url,params=params);
                # 数据解析,图表绘制
                x = range(1,13,1);
                y = [item.get("maxTemp") for item in respose.json().get("data").get("data")];
                print(x);

                pl.rcParams["font.sans-serif"] = ["SimHei"];

                mpl.figure(figsize=(5,5),dpi=100);

                mpl.plot(x,y);

                mpl.xticks(x,["{}月".format(i) for i in x]);
                mpl.title("1981年-2010年月平均气温和降水");

                mpl.show();
        else:
                # 请求失败
                print("服务器返回信息显示数据获取失败!")

【资源介绍】 课程大作业基于Python爬取各省降水量数据及可视化分析源码+项目说明+超详细注释. 因为相关课程的缘故,需要在1个月内速成python,故选取了python最常用的爬虫作为实操训练 同时,还添加了可视化和GUI入门的内容使爬取的内容应用更丰富 在具体数据的选取上,我爬取的是各省份降水量实时数据 ###### *话不多说,开始实操* ### 正文 1. 爬取数据 - 使用python爬虫,爬取中国天气网各省份24时整点气象数据 - 由于降水量为动态数据,以js形式进行存储,故采用selenium方法经xpath爬取数据 ps:在进行数据爬取时,最初使用的方法是漂亮汤法(beautifulsoup)法,但当输出爬取的内容(<class = split>时,却空空如也。在源代码界面Ctrl+Shift+F搜索后也无法找到降水量,后查询得知此为动态数据,无法用该方法进行爬取 - 使用循环和分类的方式爬取省份不同、网址相似的降水量数据,顺带记录数据对应的城市 - f—string: ```python url_a= f'http://www.weather.com.cn/weather1dn/101{a}0101.shtml' ``` *f-string 用大括号 {} 表示被替换字段,其中直接填入替换内容* - 将城市和降水量相对应后存入字典再打印 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值